C++11 知識點

來源:互聯網
上載者:User

標籤:c++   c++11   

l  利用{}進行所有容器和資料結構的就地初始化,還可以直接用於返回值,對自訂類型進行就地初始化使用initializer_list

l  通過右值引用,函數可以自由的返回大對象,同時帶資源賦值更加高效,由此指標可在任何情況下退出使用(庫除外)

l  全域唯一資源可封裝為只可移動不可拷貝語義

l  任何非引用資料都可以成為聯合體的成員

l  final、override、virtual等指示關鍵字要經常使用

l  enum變成了強型別,不可與數字隱式轉換

l  friend關鍵聲明友元類時不用加class

l  sizeof可以直接用於結構體成員

l  類可以就地初始化,從而節省代碼

l  noexcept聲明本函數不拋出異常,如果拋出就會terminate

l  新增long long資料類型,該類型保證64位以上

l  通過自訂字面量,可以更高程度上接近書寫語言,甚至可直接使用字面量作為函數

l  using  broler= int 可定義類型別名,與typedef功能類似

l  模板執行個體化的>>被作為終結符合法

l  使用auto做到動態類型,最大應用在定義iterator。並且使用auto修飾的函數可以將傳回型別後置,可以直接在函數後定義傳回型別

l  hash_code是RTTI新成員

l  decltype使C++終於可以支援反射等新類型的變成,且其會自動去掉cv限定符

l  for可以用於返回,從而可以不用for_each

l  enum class可以指定枚舉的type,且為強型別

l  auto_ptr被廢棄,用unique_ptr、shared_ptr、weak_ptr。unique_ptr只可移動,不可拷貝;shared_ptr是引用計數,weak_ptr可指向shared_ptr的記憶體,但計數不變,當計數為0時,返回nullptr

l  C++11定義了記憶體回收,且允許使用者將特定指標不受回收

l  constexpt使函數在編譯時間獲得常量性(用於switch、類)

l  可使用tuple了

l  院子類型可直接用於並行編程

l  quick_exit可以快速正常退出,而不需要析構對象

l  nullptr(nullptr_t)專指null 指標,不能隱式轉換到其他類型,且其為一個運行時常量,有地址

l  =default、 =delete可以控制類的預設產生函數

l  lamba進行函數式編程,=表示傳遞父域所有按值傳遞,&表示父域所有引用傳遞,可用於大型函數流程的子流程整理,且按值捕獲可不改動父值

l  使auto獲得lamba函數的引用,可實現複雜大函數,最大好處是可在函數內重構代碼

l  利用alignof判斷對齊數,用alignas來重新設定對齊方向,以方便高效的響亮資料處理

l  用[[  ]]定義通用屬性,應盡量多用,用於代碼最佳化

l  \uXXXX可表示16位的unicode

l  字串前加R””表示原生字串,可在串內格式化

C++11 知識點

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.