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

更新於: 2020 年 3 月 23 日

213 次瀏覽

開啟你的 事業

完成課程獲得認證

開始
廣告