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

這可能有助於明確表示表示式的值不感興趣,並且僅針對其副作用評估表示式。