Void là kiểu dữ liệu đơn giản và dễ hiểu nhất. Về cơ bản, void có nghĩa là một kiểu trống rỗng.

Do đó, các biến không thể được xác định bằng kiểu void:

void value; // won't work, variables can't be defined with a void type

Void thường được sử dụng trong một số trường hợp khác nhau như sau.

1. Các hàm không trả về giá trị

Thông thường nhất, void được sử dụng để chỉ ra rằng một hàm không trả về giá trị:

void writeValue(int x) // void here means no return value
{
    std::cout << "The value of x is: " << x << '\n';
    // no return statement, because this function doesn't return a value
}

Nếu bạn sử dụng câu lệnh return để cố gắng trả về một giá trị trong hàm như vậy, một lỗi biên dịch sẽ xảy ra:

void noReturn(int x) // void here means no return value
{
    return 5; // error
}

Trên Visual Studio 2017, điều này tạo ra lỗi:

error C2562: 'noReturn': 'void' function returning a value

2. Không dùng cái gì đó – Các hàm không cần tham số

Trong C, void được sử dụng như một cách để chỉ ra rằng một hàm không cần bất kỳ tham số nào:

int getValue(void) // void here means no parameters
{
    int x;
    std::cin >> x;
    return x;
}

Mặc dù chúng ta sẽ biên dịch trong C ++ (vì lý do tương thích ngược), việc sử dụng từ khóa void được coi là không dùng cái gì đó trong C ++. Đoạn code sau tương đương như đoạn trên và được ưu tiên dùng trong C ++:

int getValue() // empty function parameters is an implicit void
{
    int x;
    std::cin >> x;
    return x;
}

Bằng cách để trống thay vì dùng void để chỉ ra rằng hàm không có tham số.

3. Các cách sử dụng khác của void

Từ khóa void còn có cách sử dụng thứ ba (nâng cao hơn) trong C ++ mà chúng ta sẽ đề cập trong phần Con trỏ rỗng. Vì chúng ta chưa đề cập đến con trỏ, nên bạn không cần phải lo lắng về trường hợp này.

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!