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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP