lamda表达式
- 匿名函数对象 ,也叫闭包
- 语法:
[capture](params) -> ret {body}
[capture](params){body}
[capture]{body}
decltype
可以得到括号内表达式的类型,方便变量定义,如果在定义函数指针时。
decltype(&myfunc) pfunc = 0;
typedef decltype(&A::func) type;
统一用{}初始化
delete 和 default
在函数声明的后面加上 = delete
,编译器不会产生这个函数的代码,而加上=default
,编译器会产生一个默认的。比如,当想让一个类禁止拷贝操作时,delete就很有用。当自己定义了构造函数,但又想编译器生成一个默认的时,default也很有用。
nullptr
新标准中请用nullptr代替NULL
右值引用和move
请看这篇文章:
右值引用与转移语义
线程库
//Todo:c++11多线程另开文章讲解
智能指针
shared_ptr:实现了引用计数,当引用计数为0时,才释放对象
unique_ptr:同一时刻,只能有一个指针指向该对象。因此,它实现的是移动语义,而不是拷贝语义。