C++ 中的 is_void 模板
在本文中,我們將討論 C++ STL 中 std::is_void 模板的工作原理、語法和示例。
is_void 是一個模板,包含在 <type_traits> 標頭檔案中。此模板用於檢查給定的型別 T 是否為 void 型別。
在 C++ 中,什麼是 void 型別?
簡單來說,void 表示“空”或“無”。當我們將一個函式宣告為 void 時,則假定此函式不會返回任何內容。
我們還宣告 void 指標,這些指標應該保持不指定。但是,在解除對指標的引用之前,它們必須引用其他型別的另一個變數。它們可以指向任意物件,而不管它們的型別如何,因此這對程式設計師非常有用。
語法
template <class T>is_void;
引數
模板只能有一個 T 型別的引數,並檢查 T 是否是 void 型別。
返回值
它返回一個布林值,如果給定的型別是 void 型別,則為 true,如果給定的型別不是 void 型別,則為 false。
例子
Input: is_void<void>::value; Output: True Input: is_void<int>::value; Output: False
例子
#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; }
輸出
如果我們執行上述程式碼,它將生成以下輸出 −
checking for is_void: Void: true Const void: true Int: false Char: false
例子
#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; }
輸出
如果我們執行上述程式碼,它將生成以下輸出 −
checking for is_void: Double: false Float: false Volatile void: true Cost volatile void: true
廣告