When used as a function return type, the void keyword specifies that the function does not return a value. When used for a function's parameter list, void specifies that the function takes no parameters. When used in the declaration of a pointer, void specifies that the pointer is "universal."
- 当使用
void
作为函数返回值类型是, 表示这个函数不返回任何东西.- 当使用
void
作为函数参数类型定义时, 表示这个函数不需要任何参数.- 当使用
void
作为类型声明一个指针变量是, 表示这个指针变量是可以指向任何类型的对象.
void()
当使用
void()
作为函数运行时:
- 它会返回一个
void
- 这个
void
不能直接被打印- 它的值类别是
prvalue expression
- 它的值类型是
void type
.备注:
就像int()
一样, 它默认产生一个int
类型的数值0, 也是一个prvalue expression
和int type
. 只不过int
具有基础类型转换能力, 例如:char a = 'a'; cout << int(a) << endl;
可以将char
按照ASCII码
的对应关系转成int
.
如何验证 void()
返回的类型是 void type
?
使用标准库中的 std::is_void
#include <iostream>
using std::cout;
using std::endl;
using std::boolalpha;
using std::is_reference_v;
using std::is_void_v;
int main(void) {
cout << boolalpha << is_void_v<decltype(void())> << endl; // true
return 0;
}