C++11发布都将近10年了!平时也经常用到,总结一下
小改进
- for循环
for (int &a : arr)
{
cout << a << endl;
}
- override和final
子类成员函数override,父类必须有同名函数
父类成员函数final,子类不可以重写 - nullptr
这个和NULL的区别,就是为了避免二义性
void foo(int n);
void foo(char* cArr);
- long long int
保证不小于64位,规避某几个平台long长度不一致的问题 - sizeof可直接在类型成员上使用,不需对象
小扩展
- auto 自动类型推导 和decltype
还记得那常常的迭代器声明吗,用auto就搞定了
新增
- 元组支持
元组是一个不同类型值的集合,就像一个泛化的std::pair。
可用拿来当结构体用 - using
template <typename T>
typedef std::vector<T> v;//使用typedef 会报错
template <typename T>
using v = std::vector<T>;//使用using
- 正则表达式 regex
有了这个东西,操作字符串可就方便多了 - 字符串类到其他类型的转换
- 基于hash的unordered_map,unordered_set
大变化
- 右值引用
- 智能指针
- 匿名函数lambda
- 线程支持