C++11新特性

1.原始字面量

对于有反斜杠的,避免转义

写windows路径的时候写两个\\,在Linux中没问题

C++11:

2.指针空值类型

nullptr

nullptr就是为c++量身定做的空指针类型,可以自动转换(隐式匹配)为其它类型的指针。NULL就是0

3.constexpr

常量表达式的编译往往发生在编译阶段,非常量发生在程序运行阶段

还可以修饰函数

循环语句只有在函数运行的时候才能计算,与常量表达式使用条件不符合

constexpr如果修饰的是模板函数,调用时会根据实际情况进行判断,判断返回值是否是一个常量表达式,如果不是那么constexpr就相当于失效

constexpr修饰构造函数,注意以下进行初始化的方式是错误的,必须写在初始化列表里

4.自动类型推导

非常量静态成员不能在类内初始化

应用场合

用在泛型编程

 

5.decltype

虽然m也是左值,但其为普通变量或普通表达式,那么直接根据类型来推导即可

 lamda表达式

当定义成static就可以发现不需要捕获外部变量

[this]

把匿名函数当作指针

匿名函数本质是一个仿函数‘

 

posted @ 2021-10-31 15:58  wsq1219  阅读(5)  评论(0编辑  收藏  举报