在C++中,14 void是一个文字类型
类型是文字类型,如果它是:
- 无效; 要么
- 标量类型; 要么
- 参考类型; 要么
- 一个文字类型的数组; 要么
- 具有以下所有属性的类类型(第9条): - 它有一个简单的析构函数,
- 它是聚合类型(8.5.1)或至少有一个constexpr构造函数或构造函数模板,它不是复制或移动构造函数,并且
- 其所有非静态数据成员和基类都是非易失性文字类型.
在C++ 11 void中,不是文字类型
类型是文字类型,如果它是:
- 标量类型; 要么
- 引用文字类型的引用类型; 要么
- 一个文字类型的数组; 要么
- 具有以下所有属性的类类型(第9条): - 它有一个简单的析构函数,
- 非静态数据成员(如果有)的brace-or-equal-initializers中的每个构造函数调用和完全表达式都是一个常量表达式(5.19),
- 它是聚合类型(8.5.1)或至少有一个constexpr构造函数或构造函数模板,它不是复制或移动构造函数,并且
- 它的所有非静态数据成员和基类都是文字类型.
那么为什么是void文字类型呢?它提供了什么好处?