### C++11 英文标准文档概览与核心知识点解析 #### 一、文档概述 根据提供的信息,“C++ 11的英文标准文档”是C++11版本的标准文档,它并不是一本学习C++的书籍,而是针对C++语言规范的一个详细描述。这份文档编号为N3376,发布日期为2012年2月28日,修订自N3337号文档。文档的主要编辑者为Stefanus Du Toit,来自Intel Corporation,并可以通过邮箱`cxxeditor@gmail.com`联系。 #### 二、文档内容概览 该文档包含了C++11标准的各个方面,下面将对其中的一些关键章节进行详细解析: 1. **总则 (General)** - **1.1 范围 (Scope)**:描述了本标准适用的范围,包括C++语言的基本语法和语义。 - **1.2 规范性引用 (Normative references)**:列出了本标准所依赖的其他标准和技术文档。 - **1.3 术语和定义 (Terms and definitions)**:提供了在文档中使用的术语及其定义。 - **1.4 实现合规性 (Implementation compliance)**:规定了实现C++11标准的编程环境应该遵循的规定。 - **1.5 本国际标准的结构 (Structure of this International Standard)**:介绍了文档的组织结构。 - **1.6 语法表示 (Syntax notation)**:定义了文档中使用的语法表示方法。 - **1.7 C++内存模型 (The C++ memory model)**:描述了C++程序如何管理和访问内存。 - **1.8 C++对象模型 (The C++ object model)**:定义了对象的创建、销毁以及它们在内存中的表示。 - **1.9 程序执行 (Program execution)**:描述了程序的执行流程,包括入口点和退出机制。 - **1.10 多线程执行和数据竞争 (Multi-threaded executions and data races)**:讨论了多线程环境中程序的行为以及如何避免数据竞争。 - **1.11 致谢 (Acknowledgments)**:感谢了为制定本标准做出贡献的人士。 2. **词法约定 (Lexical conventions)** - **2.1 分离翻译 (Separate translation)**:解释了源代码文件是如何被单独编译的。 - **2.2 翻译阶段 (Phases of translation)**:详细说明了源代码转换为可执行程序的各个阶段。 - **2.3 字符集 (Character sets)**:定义了C++支持的字符集。 - **2.4 三字符序列 (Trigraph sequences)**:介绍了特殊字符的表示方法。 - **2.5 预处理标记 (Preprocessing tokens)**:描述了预处理器使用的标记类型。 - **2.6 替代标记 (Alternative tokens)**:提供了一些替代的标记表示方式。 - **2.7 标记 (Tokens)**:定义了C++源代码中的基本单位。 - **2.8 注释 (Comments)**:介绍了一种用于添加注释的方法。 - **2.9 标头名称 (Header names)**:规定了标准库标头文件的命名规则。 - **2.10 预处理数字 (Preprocessing numbers)**:定义了预处理器中的数字表示方式。 - **2.11 标识符 (Identifiers)**:定义了标识符的规则。 - **2.12 关键字 (Keywords)**:列出了C++中的关键字。 - **2.13 运算符和分隔符 (Operators and punctuators)**:列举了C++中可用的运算符和分隔符。 - **2.14 文字 (Literals)**:描述了常量值的不同类型。 3. **基本概念 (Basic concepts)** - **3.1 声明和定义 (Declarations and definitions)**:介绍了变量声明和函数定义的规则。 - **3.2 一次定义规则 (One definition rule)**:确保每个实体在一个翻译单元中只被定义一次。 - **3.3 作用域 (Scope)**:定义了标识符的作用域。 - **3.4 名称查找 (Name lookup)**:解释了如何在不同作用域内查找标识符。 - **3.5 程序和链接 (Program and linkage)**:描述了多个翻译单元如何组合成一个程序。 - **3.6 启动和终止 (Start and termination)**:定义了程序的启动和终止过程。 - **3.7 存储持续时间 (Storage duration)**:规定了对象存储在内存中的持续时间。 - **3.8 对象生存期 (Object lifetime)**:定义了对象从创建到销毁的时间跨度。 - **3.9 类型 (Types)**:定义了C++中的不同类型。 - **3.10 左值和右值 (Lvalues and rvalues)**:区分了左值和右值的概念。 - **3.11 对齐 (Alignment)**:规定了数据成员在内存中的对齐方式。 4. **标准转换 (Standard conversions)** - **4.1 左值到右值的转换 (Lvalue-to-rvalue conversion)**:将左值转换为右值。 - **4.2 数组到指针的转换 (Array-to-pointer conversion)**:将数组转换为指向其第一个元素的指针。 - **4.3 函数到指针的转换 (Function-to-pointer conversion)**:将函数转换为指向该函数的指针。 - **4.4 资格转换 (Qualification conversions)**:改变类型的资格属性。 - **4.5 整型提升 (Integral promotions)**:自动将某些小整型提升为更大的整型。 - **4.6 浮点数提升 (Floating-point promotion)**:自动将较小的浮点数类型提升为较大的类型。 - **4.7 整型转换 (Integral conversions)**:将一个整型转换为另一个整型。 - **4.8 浮点数转换 (Floating-point conversions)**:将一个浮点数转换为另一个浮点数。 - **4.9 浮点-整型转换 (Floating-integral conversions)**:将浮点数转换为整型或相反。 - **4.10 指针转换 (Pointer conversions)**:将一种类型的指针转换为另一种类型的指针。 - **4.11 成员指针转换 (Pointer to member conversions)**:将成员指针从一种类型转换为另一种类型。 - **4.12 布尔转换 (Boolean conversions)**:将任何非零值转换为true。 - **4.13 整型转换等级 (Integer conversion rank)**:确定整型转换的优先级。 5. **表达式 (Expressions)** - **5.1 基本表达式 (Primary expressions)**:定义了最简单的表达式形式。 - **5.2 后缀表达式 (Postfix expressions)**:描述了后缀表达式的各种形式。 - **5.3 单目表达式 (Unary expressions)**:定义了单目运算符的使用。 - **5.4 显式类型转换 (cast notation)**:允许显式地将一种类型转换为另一种类型。 - **5.5 成员指针运算符 (Pointer-to-member operators)**:用于访问类成员。 - **5.6 乘法运算符 (Multiplicative operators)**:包括乘法、除法和取模运算。 - **5.7 加法运算符 (Additive operators)**:包括加法和减法运算。 #### 三、总结 通过上述内容可以看出,《C++ 11的英文标准文档》是一份非常详尽的技术文档,涵盖了C++11标准的所有方面。对于希望深入理解C++11特性的开发者来说,这份文档是非常宝贵的资源。通过学习这些章节,开发者能够更好地理解和应用C++11的各种特性,从而提高编程效率和代码质量。
剩余1323页未读,继续阅读
- 粉丝: 2
- 资源: 12
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助