前些日子,我正要問一個相當簡單的初學者問題,當我意識到我沒有爲我的函數釋放內存時,我正在處理一個C++函數。這似乎永遠不會在這裏結束。在函數中釋放內存
看起來這將是一個共同的問題,但我沒能在在C我的瞭解程度++
發現了什麼我怎麼會在這個代碼
#include <iostream>
class thing{
public:
int a;
};
thing makeThing(){
thing *t = new thing;
t -> a = 5;
return *t;
}
int main(){
thing thing1 = makeThing();
std::cout << "a: " << thing1.a << std::endl;
return 0;
}
由於正常可用內存據我所知,在函數終止後我無法釋放它。 我嘗試這樣做:
delete &thing1;
而是基於核心轉儲,我認爲不是這樣做的方式。
「makeThing」中存在內存泄漏問題 –
我該如何解決?這種編碼方式直接出自我的教科書,所以我不知道有什麼不同的方式。 – mreff555
如果這出來你的教科書,然後開始使用它的更好的目的。用它擦拭你的底部?! –