一.c++语言变化的领域
c++11 vs c++98/03有那些增强
1.通过内存模型,线程,原子操作等来支持本地并行编程
2.通过统一初始化式,auto,declytype,移动语义等来统一对泛型编程的支持
3.通过constexpr,POD(概念)等更好的支持系统编程
4.通过内联命名空间,继承构造函数和右值引用等,以更好的支持库的构建
二.c++11特性的分类
WG21专注理念
1.保持语言的稳定性和兼容性
2.更倾向于使用库而不是扩展语言来实现特性
3.更倾向于使用通用的而不是特殊的手段来实现特性
4.专家新手都支持
5.增强类型的安全性
6.增强代码的执行性能和操作硬件的能力
7.开发能够改变人们思维方式的特性
8.融入编程现实
c++11特性的分类
1.类作者使用的
2.库作者使用的
3.所有人使用的
4.部分分使用的
基于“更倾向于使用库而不是扩展语言来实现新特性的”理念的库特性:
1.算法增强
2.容器增强
3.分配算符
4.std::array
5.std::forward_list
6.无序容器Unordered containers
7.sts::tuple
8.类型特性:Type traits
9.std::function,std:bind
10.unique_ptr
11.shard_ptr
12.weak_ptr
13.线程 Threads
14.互斥 Mutex
15.锁 locks
16.条件变量
17.时间工具
18.std::futrue,td::promises
19.std::async
20.随机数
21.正则表达式regex
三.c++特性一览
1.稳定性与兼容性的抉择
2.更倾向于使用库而不是语言来实现特性
3.更倾向于通用的而不是特殊的手段来实现特性
4.新手专家支持
5.增强类型的安全性
6.与硬件紧密合作
7.开发能够改变人们思维方式的特性
8.融入编程现实