C++11的default和delete關鍵字


1. default關鍵字
用法:

如果類中只定義了一個有參數的構造函數,默認構造函數編譯器就不再生成了。那么在外部創建類時,如果創建無參數的類就會出錯:因為沒有一個無參構造函數。
可以通過default關鍵字讓構造函數恢復
classA() = default; 
該函數比用戶自己定義的默認構造函數獲得更高的代碼效率

2. delete關鍵字
用法:

如果不想使用某個函數,可以使用=delete

3. noexcept關鍵字

由於動態異常聲明throw很少使用,所以在C++11中被棄用了,throw也被noexcept所替代,使用noexcept修飾的函數不會拋出異常,如果拋出了異常,編譯器可以選擇直接調用std::terminate()終止程序的運行,這比基於異常機制的throw()在效率上會高出一些。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM