簡體   English   中英

在C ++中使用大量的new和Delete運算符是否很耗時?

[英]Are using a lot of new and delete operators time consuming in c++?

假設我們有一個for循環。 我們創建新對象並刪除其中的對象。 C ++沒有任何垃圾收集器,因此new和delete對象不會花費很多時間,並且沒有像C#和Java這樣的具有內存管理語言的開銷?

是的,如果您有一個for循環可以在其中創建和刪除對象,那是最好的情況,但是在編寫實時項目時卻並非如此。

特別是如果您打算將C ++轉換為示例C#,GC負責內存管理,那么您將必須首先處理用於刪除對象的指針,還必須在刪除垃圾之前弄清楚垃圾的大小。

一些要點:

  • 避免在CPP中使用刪除
  • C#(.Net)分配非常有效,但是釋放內存變得非常復雜
  • 如果程序不依賴強化性能,請選擇支持GC的語言
  • 如果您的程序包含很多短期對象,請使用GC
  • 查找RAII(資源獲取是初始化),不會強制您顯式管理資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM