1.c++11 定義了5種有符號類型 signed char,short int ,int ,long int ,long long int
2.c++11 提供了靜態斷言;所謂的靜態斷言,是在編譯期的斷言,不一樣於運行時斷言assert;靜態斷言static_assert 接受2個參數,第一個是斷言表達式,須要返回一個bool值;第2個參數是警告信息,一般是一個字符串。
3.c++11 noexcept修飾符和操做符,在c++11裏面提供了新的異常修飾符 noexcept,當其做爲修飾符時,有效的阻止異常擴散;當其做爲操做符時一般用作模版,判斷函數是否會拋出異常,拋出異常返回false
4.c++11 提供了一種快速初始化成員變量的方式,列表初始化,提供了對非靜態成員的初始化。
5.c++11 sizeof ,提供了對成員變量的操做,增長可讀性,便利性。
6.c++11 friend ,c++11 對friend進行了擴展,friend聲明友元時 可省略關鍵字class ,亦可聲明類別名。
7.c++11 final,override, c++11 final關鍵字 阻止其餘派生類重載已有函數;override關鍵字 聲明該函數必須重載基類同名虛函數。
8.c++11 提供模版函數的默認模版參數
9.c++11 提供外部模版 extern template 去除冗餘代碼
10.c++11 提供繼承構造函數,不可繼基類虛構造函數 派生類使用繼承構造函數室,自己並沒有構造函數
11.c++11 提供委託構造函數,使多類構造函數寫起來更方便
12.c++11 提供std::move 移動語義 和右值引用 減小拷貝構造時候的內存消耗
13.c++11 實現了一種完美轉發機制 例如:make_pair make_unique
14.c++11 提供顯示操做符轉換關鍵字explicit 意味着只有在直接構造目標類型或顯示類型轉換的時候能夠使用該類型
15.c++11 提供了列表初始化,防止類型收窄
16.c++11 中常常會出現pod的概念
17.c++11 提出了inline namespace
18.c++11 提出了使用using 來定義別名
19.c++11 SFINEA規則
20.c++11 對‘>’右尖角號的改進
21.c++11 提出了auto類型推導,c++11中auto只作類型推導
22.c++11 提出了decltype類型推導,與auto用法不太同樣
23.c++11 提出了基於範圍的for循環
24.c++11 提供了強枚舉 enum class 有1.強做用域 2.轉換限制 3指定底層類型等優勢 而且對enum作了擴展
25.c++11 使用智能指針維護內存,unique_ptr,shared_ptr,weak_ptr c++
26.c++11 提供了變長模版
27.c++11 lambda形象大變
28.c++11 是否生成缺省函數 default /delete
ide