文档信息
前言
第 1 部分C++ 编译器
1. C++ 编译器
2. 使用 C++ 编译器
3. 使用 C++ 编译器选项
第 2 部分编写 C++ 程序
4. 语言扩展
4.1 链接程序作用域
4.1.1 与 Microsoft Windows 兼容
4.2 线程局部存储
4.3 用限制较少的虚函数覆盖
4.4 对 enum 类型和变量进行前向声明
4.5 使用不完整 enum 类型
4.6 将 enum 名称作为作用域限定符
4.7 使用匿名 struct 声明
4.8 传递匿名类实例的地址
4.9 将静态名称空间作用域函数声明为类友元
4.10 将预定义 __func__ 符号用于函数名
4.11 支持的属性
4.11.1 __packed__ 属性详细信息
4.12 对 Intel MMX 和扩展的 x86 平台内部函数的编译器支持
5. 程序组织
6. 创建和使用模板
7. 编译模板
8. 异常处理
9. 改善程序性能
10. 生成多线程程序
第 3 部分库
11. 使用库
12. 使用 C++ 标准库
13. 使用传统 iostream 库
14. 生成库
第 4 部分附录
A. C++ 编译器选项
B. Pragma
词汇表
索引
使用 -features=extensions 时,不完整的 enum 类型以前向声明处理。例如,以下是无效代码,如果使用 -features=extensions 选项,可对其进行编译。
typedef enum E F; // invalid, E is incomplete
如前所述,可以总是先包括 enum 类型的定义,然后再使用。