Computer >> Máy Tính >  >> Lập trình >> C ++

mẫu is_void trong C ++

Trong bài viết này, chúng ta sẽ thảo luận về cách làm việc, cú pháp và các ví dụ của mẫu std ::is_void trong C ++ STL.

is_void là một mẫu nằm trong tệp tiêu đề . Mẫu này được sử dụng để kiểm tra xem kiểu T đã cho có phải là kiểu void hay không.

Kiểu void trong C ++ là gì?

Nói một cách đơn giản, void có nghĩa là “trống rỗng” hoặc “không có gì”. Khi chúng ta khai báo một hàm là void thì giả sử rằng hàm này sẽ không trả về gì.

Chúng tôi cũng khai báo các con trỏ void, được cho là không xác định. Tuy nhiên, chúng phải được tham chiếu đến một biến khác kiểu khác, trước khi con trỏ được tham chiếu. Chúng có thể trỏ đến bất kỳ đối tượng nào bất kể loại của chúng, do đó rất hữu ích cho các lập trình viên.

Cú pháp

template <class T>is_void;

Tham số

Mẫu chỉ có thể có tham số kiểu T và kiểm tra xem T có phải là kiểu void hay không.

Giá trị trả về

Nó trả về một giá trị Boolean, true nếu kiểu đã cho là kiểu void và false nếu kiểu đã cho không phải là kiểu void.

Ví dụ

Input: is_void<void>::value;
Output: True

Input: is_void<int>::value;
Output: False

Ví dụ

#include <iostream>
#include <type_traits>
using namespace std;
int main() {
   cout << boolalpha;
   cout << "checking for is_void:";
   cout << "\nvoid:" << is_void<void>::value;
   cout << "\nconst void:" << is_void<const void>::value;
   cout << "\nint:" << is_void<int>::value;
   cout << "\nchar:" << is_void<char>::value;
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

checking for is_void:
Void: true
Const void: true
Int: false
Char: false

Ví dụ

#include <iostream>
#include <type_traits>
using namespace std;
int main() {
   cout << boolalpha;
   cout << "checking for is_void:";
   cout << "\nDouble:" << is_void<double>::value;
   cout << "\nFloat:" << is_void<float>::value;
   cout << "\nvolatile void:" << is_void<volatile void>::value;
   cout << "\nconst volatile void:" << is_void<const volatile void>::value;
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

checking for is_void:
Double: false
Float: false
Volatile void: true
Cost volatile void: true