C++ 在構造函數中使用new的注意事項


  • 如果在構造函數中使用new來初始化指針成員,則應在析構函數中使用delete
  • new和delete必須相互兼容。new對應於delete,new[]對應於delete[]
  • 如果有多個構造函數,則必須以相同的方式使用new,要么都帶中括號,要么都不帶。因為只有一個析構函數,所有的構造函數都必須與它兼容。
  • 與上面一條例外的是可以在一個構造函數中使用new初始化指針,而在另一個構造函數中將指針初始化為空,這是因為delete(無論是帶中括號還是不帶中括號)可以用於空指針
  • C++傳統上更喜歡用簡單的0,而不是等價的NULL,但C++11的nullptr是更好的選擇。


免責聲明!

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



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