C++11的若干新特性盤點

std::unique_ptr防止內存泄露的智能指針,獨佔的思想(對象指針只能被一個對象所佔有),所有權可以轉移,unique_ptr析構時其管理的對象也銷燬。參考:https://blog.csdn.net/shaosunrise/article/details/85158249

std::shared_ptr對象之間可以共享一個被託管的指針對象,shared_ptr對象之間可以拷貝,當沒有shared_ptr引用被託管的指針對象時,該指針對象就被銷燬。

這是C++語言的發明者們看到其他語言如java、objective-c在內存管理上的優越之處而作出的升級改進。總結下來有如下一些:

auto關鍵字

initializer_list

匿名函數,Lambda表達式,參看:https://www.jianshu.com/p/fd339adedd22

亂序賦值

支持foreach用法,與java的相同

類成員變量直接賦值

final關鍵字修飾class,不能被繼承

override保留字表示當前函數重寫了基類的虛函數。在函數比較多的情況下可以提示讀者某個函數重寫了基類虛函制數,表示這個虛函數是從基類繼承,不是派生類自己定義的;強制編譯器檢查某個函數是否重寫基類虛函數,如果沒有則報錯。在類的成員函數參數列表後面添加該關鍵字既可。override只是C++保留字,不是關鍵字,這意味度着只有在正確的使用位置,override才起到“關鍵字”的作用,其他地方可以作爲標誌符,如:int override;是合法的。

std::move函數

<待補充>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章