《深入理解C++11:C++11新特性解析与应用》主要内容:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。 全书一共8章:第1章从设计思维和应用范畴两个维度对C++11新标准中的所有特性进行了分类,呈现了C++11新特性的原貌;第2章讲解了在保证与C语言和旧版C++标准充分兼容的原则下增加的一些新特性;第3章讲解了具有广泛可用性、能与其他已有的或者新增的特性结合起来使用的、具有普适性的一些新特性;第4章讲解了C++11新标准对原有一些语言特性的改进,这些特性不仅能让C++变得更强大,还能提升程序员编写代码的效率;第5章讲解了C++11在安全方面所做的改进,主要涵盖枚举类型安全和指针安全两个方面的内容;第6章讲解了为了进一步提升和挖掘C++程序性能和让C++能更好地适应各种新硬件的发展而设计的新特性,如多核、多线程、并行编程方面的新特性;第7章讲解了一些颠覆C++一贯设计思想的新特性,如lambda表达式等;第8章讲解了C++11为了解决C++编程中各种典型实际问题而做出的有效改进,如对Unicode的深入支持等。附录中则介绍了C++11标准与其他相关标准的兼容性和区别、C++11中弃用的特性、编译器对C++11的支持情况,以及学习C++11的相关资源。 《深入理解C++11:C++11新特性解析与应用》 免责声明 序 前言 第1章 新标准的诞生 1 1.1 曙光:C++11标准的诞生 1 1.1.1 C++11/C++0x(以及C11/C1x)—新标准诞生 1 1.1.2 什么是C++11/C++0x 2 1.1.3 新C++语言的设计目标 3 1.2 今时今日的C++ 5 1.2.1 C++的江湖地位 5 1.2.2 C++11语言变化的领域 5 1.3 C++11特性的分类 7 1.4 C++特性一览 11 1.4.1 稳定性与兼容性之间的抉择 11 1.4.2 更倾向于使用库而不是扩展语言来实现特性 12 1.4.3 更倾向于通用的而不是特殊的手段来实现特性 13 1.4.4 专家新手一概支持 13 1.4.5 增强类型的安全性 14 1.4.6 与硬件紧密合作 14 1.4.7 开发能够改变人们思维方式的特性 15 1.4.8 融入编程现实 16 1.5 本书的约定 17 1.5.1 关于一些术语的翻译 17 1.5.2 关于代码中的注释 17 1.5.3 关于本书中的代码示例与实验平台 18 第2章 保证稳定性和兼容性 19 2.1 保持与C99兼容 19 2.1.1 预定义宏 19 2.1.2 __func__预定义标识符 20 2.1.3 _Pragma操作符 22 2.1.4 变长参数的宏定义以及__VA_ARGS__ 22 2.1.5 宽窄字符串的连接 23 2.2 long long整型 23 2.3 扩展的整型 25 2.4 宏__cplusplus 26 2.5 静态断言 27 2.5.1 断言:运行时与预处理时 27 2.5.2 静态断言与static_assert 28 2.6 noexcept修饰符与noexcept操作符 32 2.7 快速初始化成员变量 36 2.8 非静态成员的sizeof 39 2.9 扩展的friend语法 40 2.10 final/override控制 44 2.11 模板函数的默认模板参数 48 2.12 外部模板 50 2.12.1 为什么需要外部模板 50 2.12.2 显式的实例化与外部模板的声明 52 2.13 局部和匿名类型作模板实参 54 2.14 本章小结 55 第3章 通用为本,专用为末 57 3.1 继承构造函数 57 3.2 委派构造函数 62 3.3 右值引用:移动语义和完美转发 68 3.3.1 指针成员与拷贝构造 68 3.3.2 移动语义 69 3.3.3 左值、右值与右值引用 75 3.3.4 std::move:强制转化为右值 80 3.3.5 移动语义的一些其他问题 82 3.3.6 完美转发 85 3.4 显式转换操作符 89 3.5 列表初始化 92 3.5.1 初始化列表 92 3.5.2 防止类型收窄 96 3.6 POD类型 98 3.7 非受限联合体 106 3.8 用户自定义字面量 110 3.9 内联名字空间 113 3.10 模板的别名 118 3.11 一般化的SFINEA规则 119 3.12 本章小结 121 第4章 新手易学,老兵易用 123 4.1 右尖括号>的改进 123 4.2 auto类型
2021-10-21 12:40:47 33.12MB c++11pdf
1