void

不完整的类型; 一个对象不可能有 void 类型,也没有 void 的数组或 void 的引用。它用作不返回任何内容的函数的返回类型。

此外,可以使用 void 类型的单个参数冗余地声明函数; 这相当于声明一个没有参数的函数(例如 int main()int main(void) 声明相同的函数)。允许此语法与 C 兼容(其中函数声明与 C++中的含义不同)。

类型 void*(“指向 void 的指针”)具有以下属性:任何对象指针都可以转换为它并返回并生成相同的指针。此功能使 void*类型适用于某些类型(类型不安全)类型擦除接口,例如 C 风格 API 中的通用上下文(例如 qsortpthread_create)。

任何表达式都可以转换为 void 类型的表达式; 这被称为丢弃值表达式

static_cast<void>(std::printf("Hello, %s!\n", name));  // discard return value

这可能有助于明确表示表达式的值不感兴趣,并且仅针对其副作用评估表达式。