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
- 線程支持