为什么C+程序员应该尽量减少‘New’的使用?

为什么C+程序员应该尽量减少‘New’的使用?

我偶然发现了堆叠溢出的问题。使用std:list<std:string>时内存泄漏与std:string,和其中一条评论他说:

停止使用new太多了。我看不出你在任何地方用新东西的原因。您可以在C+中通过值创建对象,这是使用该语言的巨大优势之一。您不必分配堆上的所有内容。不要像Java程序员那样思考。

我不太清楚他这么说是什么意思。为什么要尽可能频繁地用C+中的值来创建对象,它在内部有什么区别呢?我是不是误解了答案?


撒科打诨
浏览 673回答 3
3回答

Smart猫小萌

因为堆栈是快速和万无一失的在C+中,只需一条指令就能为给定函数中的每个本地作用域对象分配空间-在堆栈上-这是不可能泄漏任何内存的。这句话的意思是(或者应该)说出这样的话“使用堆栈而不是堆”。
打开App,查看更多内容
随时随地看视频慕课网APP