我想知道是否,
Foo bar = *(new Foo());
可以做,或者我浪费内存,因为在将值分配给bar
后我无法从堆中删除数据。
答案 0 :(得分:1)
这是一个即时内存泄漏,因为你在堆上丢失了对它的引用。
我不得不问,当你只需要调用堆栈上的构造函数时,你为什么要为自己添加工作。
答案 1 :(得分:1)
这与您的预期不同:
你在堆上创建一个永远不会被破坏的临时内存泄漏
然后在堆栈上创建临时对象的COPY。
所以这种方法什么也没给你..也许你需要smart pointer吗?