C++程式設計師為何應儘量減少使用'new'?


new用於動態記憶體分配。在這種情況下分配的記憶體將位於堆上。這種型別的記憶體分配會產生若干成本,同時程式設計師必須執行手動記憶體清理和管理。必須在以下情況下使用這種型別的分配−

  •  在編譯時您不知道需要多少記憶體。
  • 想要分配在離開當前塊後仍將駐留的記憶體。

除了這些情況,要求動態記憶體分配的情況非常少。這是因為,在C++中,存在解構函式的概念。此函式在物件/資源的生命週期結束時被呼叫。這可用於釋放記憶體。因此,當您建立具有自身物件的物件,並且主物件超出範圍時,它還會釋放其子物件的記憶體。

這些變數稱為自動變數,這種型別的記憶體使用為自動儲存。您應該使用它,因為它鍵入速度更快,執行速度更快,並且不易出現記憶體/資源洩漏。


更新日期:02-Mar-2020

63次瀏覽量

開啟你的職業生涯

完成課程並獲得認證

開始
廣告