C 11的新特性

2021-10-24 02:18:22 字數 499 閱讀 1458

1.auto關鍵字:編譯器可以根據初始值自動推導出型別。但是不能用於函式傳參以及陣列型別的推導。

2.nullptr關鍵字:nullptr是一種特殊型別的字面值,它可以被轉換成任意其它的指標型別;而null一般被巨集定義為0,在遇到過載時可能會出現問題。

3.智慧型指標:c++11新增了std::shared_ptr、std::weak_ptr等型別的智慧型指標,用於解決記憶體管理的問題。

4.初始化列表:使用初始化列表來對類進行初始化。

5.右值引用:基於右值引用可以實現移動語義和完美**,消除兩個物件互動時不必要的物件拷貝,節省運算儲存資源,提高效率。

所謂完美**:無論目的呼叫函式需要哪種型別的引數都可以正確呼叫到我們想要的那個函式裡。c++11中實現完美**是依靠的型別推導和引用摺疊。

6.lambda匿名函式。所謂匿名函式,簡單地理解就是沒有名稱的函式,又常被稱為 lambda 函式或者 lambda 表示式。

7.long long超長整形,至少 64 位(8 個位元組)

c 11的新特性

1 型別說明符auto 2.decltype提取型別 int a 0 decltype a b b 10 cout b endl 3.基於範圍的for迴圈 4.虛函式的override和final指示符 final修飾類 類無法被繼承 final修飾虛函式 虛函式不能被重寫 override就是輔助...

C 11的新特性

c 11提供在類中定義類的資料成員,可以直接在成員之後新增 預設值 當通過編譯器自動生成的預設建構函式初始化物件時,對應的資料成員就會被初始化成對應的預設值。class test int main 在c 98中,陣列可以使用 來進行初始化,對自定義型別是不可以的。在c 11中,的使用範圍變得更廣,可...

C 11的新特性

1.auto自動變數 vs 2010支援 2.c 11新增模板類array c 11支援對模板類vector的列表初始化。3.c 11新增了另一種引用,右值引用,是使用 宣告的 double j 15.0 double jref 2.0 j 18.5 不能使用double 宣告jref 4.c 11...