為什麼 C++ 程式設計師應當盡少使用 'new'?


new 用於動態記憶體分配。在這種情況下分配的記憶體位於堆上。除了程式設計師必須進行手動記憶體清理和管理之外,這種型別的記憶體分配還會產生許多成本。必須在以下情況下使用此型別分配 -

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

除此之外,只有在極少數情況下才需要動態記憶體分配。這是因為在 C++ 中有解構函式的概念。當物件/資源的生命週期結束時,會呼叫此函式。這可用於釋放記憶體。因此,當你建立擁有自己的物件的物件時,並且主物件超出範圍時,它也會釋放其子物件的記憶體。

這些變數稱為自動變數,這種型別的記憶體使用稱為自動儲存。你應該使用它,因為它輸入更快、執行時更快且不太容易出現記憶體/資源洩漏。


更新於: 02-Mar-2020

63 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告