std::is_void

来自cppreference.com
< cpp‎ | types

 
 
 
类型支持
基本类型
基础类型
定宽整数类型 (C++11)
数值极限
C 数值极限接口
运行时类型信息
类型特性
类型类别
is_void
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
类型属性
(C++11)
(C++11)
(C++11)
(C++14)
(C++11)
(C++11)(C++17中过时)
(C++11)
类型特性常量
元函数
(C++17)
受支持操作
关系与属性查询
(C++11)
(C++11)
(C++11)
(C++11)
类型修改
(C++11)
(C++11)
(C++11)
类型变换
(C++11)
(C++11)
(C++17)
(C++11)(C++17中过时)
(C++17)
 
定义于头文件 <type_traits>
template< class T >
struct is_void;
(C++11 起)
Tvoidconst voidvolatile void,或const volatile void的类型,提供成员value等于true。对于任何其他类型,valuefalse.
原文:
If T is the type void, const void, volatile void, or const volatile void, provides the member constant value equal true. For any other type, value is false.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

目录

继承自 std::integral_constant

成员常量

value
[静态]
T is the type void (possibly cv-qualified) 则为true,否则为false
(公开静态成员常量)

成员函数

operator bool
转换对象为bool,返回value
(公开成员函数)
operator()
(C++14)
返回value
(公开成员函数)

成员类型

类型 定义
value_type bool
type std::integral_constant<bool, value>

[编辑] 可能的实现

template< class T >
struct is_void : std::integral_constant<
                     bool,
                     std::is_same<void, typename std::remove_cv<T>::type>::value
                  > {};

[编辑] 示例

#include <iostream>
#include <type_traits>
 
int main()
{
    std::cout << std::boolalpha;
    std::cout << std::is_void<void>::value << '\n';
    std::cout << std::is_void<int>::value << '\n';
}

输出:

true
false

[编辑] 另请参阅

(C++11)
检查类型是否是数组类型
(类模板) [编辑]
检查是否是指针类型
(类模板) [编辑]
(C++11)
检查类型是否是枚举类型
(类模板) [编辑]
(C++11)
检查是否是union类型
(类模板) [编辑]
(C++11)
检查是否是除union以外的对象类型
(类模板) [编辑]
检查是否为函数类型
(类模板) [编辑]
(C++11)
检查是否是对象类型
(类模板) [编辑]