C++11 兼容性
以下功能部件是导致完全符合 C++11的持续分阶段发布过程的一部分。 可以使用 -qlanglvl=extended0x 组选项来启用这些属性。 您还可以使用特定的编译器选项来启用或禁用这些功能。 请参阅下表。
| 语言功能 | 讨论内容: | C++11 单个子选项控件 |
|---|---|---|
| 自动类型推导 | auto 类型说明符 (C++11) | |
C99 long long |
C99 和 C++11中支持的整数文字类型 | |
| C++11 中采用的 C99 预处理器功能 | C++11 中采用的 C99 预处理器功能 (C++11) | |
| Decltype | decltype(表达式)类型说明符 (C++11) | |
| 缺省函数和已删除的函数 | ||
| 委托构造函数 | 委托构造函数 (C++11) | |
| 显式转换运算符 | 显式转换运算符 (C++11) | |
| 显式实例化声明 | 显式实例化声明 | |
| 扩展的友元声明 | 友元(仅限 C++) | |
| 转发枚举声明 | 枚举 | 不适用 |
| 一般化的常量表达式 | 广义常量表达式 (C++11) | |
| 内联名称空间定义 | 内联名称空间定义 (C++11) | |
nullptr |
空指针 | |
| 引用折叠 | 引用折叠 (C++11) | |
| 右尖括号 | 类模板(仅限 C++) | |
| 右值引用 | ||
| 有作用域的枚举 | 枚举 | |
static_assert |
static_assert 声明 (C++11) | |
enum 声明中允许的尾部逗号 |
枚举 | |
| 跟踪返回类型 | 跟踪返回类型 (C++11) | |
| 可变参数模板 | 可变参数模板 (C++11) |
备注信息:
- 您还可以使用 -qlanglvl=extended 组选项来启用显式实例化声明功能。
- 如果尝试在未启用 C++11 功能部件时使用该功能部件,那么编译器将在语法错误消息后发出参考消息。 参考消息指示如何开启 C++11 功能以从语法错误中恢复。 下面列出了涉及的 C++11 功能部件:
- C++11 中采用的 C99 预处理器功能 (混合字符串字面值并置和
__STDC_HOSTED__宏) - 缺省函数和已删除的函数
- 委托构造函数
- 显式转换运算符
- 一般化的常量表达式
- 内联名称空间定义
nullptr- 引用折叠
- 右尖括号
- 右值引用
- 有作用域的枚举
- 可变参数模板
- C++11 中采用的 C99 预处理器功能 (混合字符串字面值并置和
有关每个 C++11 功能部件的支持状态及其对应的 C++ 标准委员会文件,请参阅 C++11 功能部件支持。
