c++11整体的设计目标
- 使得c++成为更好的适用于系统开发和库开发的语言
- 使得c++成为更易于教学的语言(语法更加一致化,简单化)
- 保证语言的稳定性以及和c++03及c语言兼容性。
c++11相对于c++98/03增强的几个点
- 通过内存模型、线程、原子操作等来支持本地并行编程
- 通过统一初始化表达式、auto、declytype、移动语义等来统一对泛型编程的支持。
- 通过constexpr\POD等更好支持系统编程。
- 通过内联命名空间、继承构造函数和右值引用等,以更好的支持库的构建。
c++11基于的理念
- 保持语言的稳定性和兼容性
- 更倾向于使用库而不是扩展语言来实现特性
库的一个特性就是可以不需要编译器实现新特性,而是只要接口保持一致,
库可以支持不同领域的编程 - 更倾向于通用的而不是特殊的手段来实现特性
- 专家新手一概支持
- 增强类型的安全性
- 增强代码执行性能和操作硬件的能力
- 开发能够改变人们思维方式的特性
lambda表达式是一个局部的匿名的仿函数
如何让一个成员函数变得无效 - 融入编程现实
c++11引入通用属性,属性可以在不引