C++11(C++新标准)-中文版.pdf
文本预览下载声明
C++11
维基百科,自由的百科全书
(重定向自C++0x)
C++11,先前被称作C++0x,是目前计划中的C++编程语言的新标准。它将取代现行的C++标准ISO/IEC
14882,公开于1998年并于2003年更新,通称C++98以及C++03。新的标准将会包含核心语言的新机
能,而且会扩展C++标准程序库,并入了大部分的C++ Technical Report 1程序库 (数学的特殊函数
除外)。最新的消息被公开在ISO C++ 委员会网站 (英文) (/jtc1/sc22
/wg21/docs/papers/) 。国际标准草案(N3126 (/jtc1/sc22/wg21/docs
/papers/2010/n3126.pdf) )于2010年8月公开,2010年11月对该草案进行了修订(N3225
(/jtc1/sc22/wg21/docs/papers/2010/n3225.pdf) )。
ISO /IEC JTC1/SC22/WG21 C++ 标准委员会目前的计划是在2010年8月之前完 对最终委员会草案的
投票,以及于2011年3月召开的标准会议完 国际标准的最终草案。然而,WG21预期ISO将要花费六个
月到一年的时间才能正式发布新的 C++ 标准。因此最快在2011年年底,我们才能见到新的C++标准。
[1]
为了能够如期完 ,委员会决定致力于直至2006年为止的提案,忽略新的提案 。
像C++这样的编程语言,通过一种演化的的过程来发展其定义。这个过程不可避免地将引发与现有代
码的兼容问题,在C++的发展过程中偶尔会发生。不过根据Bjarne Stroustrup (C++的创始人并且是
委员会的一员)表示,新的标准将几乎100%兼容于现有标准。
目录
1 候选变更
2 C++核心语言的扩充
3 核心语言的运行期表现强化
3.1 右值引用和 move 语义
3.2 泛化的常数表示式
3.3 对POD定义的修正
4 核心语言建构期表现的加强
4.1 外部模板
5 核心语言使用性的加强
5.1 始化列表
5.2 统一的 始化
5.3 类型推导
5.4 以范围为基础的 for 循环
5.5 Lambda函数与表示式
5.6 另一种的函数语法
5.7 对象建构的改良
5.8 显式虚函数重载
5.9 空指针
5.10 强类型枚举
5.11 角括号
5.12 显式类型转换子
5.13 模板的别名
5.14 无限制的unions
6 核心语言能力的提升
6.1 变长参数模板
6.2 新的字符串字面值
第1页 共36页 2011/11/15 下午 13:51
6.3 用户自定义的字面值
6.4 多任务存储器模型
6.5 thread-local的存储期限
6.6 使用或禁用对象的默认函数
6.7 long long int类型
6.8 静态assertion
6.9 允许sizeof操作符作用在类型的数据 员上,无须明确的对象
6.10 垃圾回收机制
7 C++标准程序库的变更
显示全部