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 đề
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