我有一個C++內存管理疑問,這是(顯然)與引用和指針相關。假設我有一類Class
與方法my_method
:這會導致C++中的內存泄漏嗎?
OtherClass& Class::my_method(...) {
OtherClass* other_object = new OtherClass(...);
return *other_object;
}
同時在附近的一段代碼:
{
Class m(...);
OtherClass n;
n = m.my_method(...);
}
所以,我知道,有關於指針一般規則(〜「什麼新 - ed,必須是delete -d「)以避免內存泄漏。但基本上我正在引用我的堆分配對象,所以當n超出範圍時,不應該調用OtherClass的析構函數,從而釋放先前由other_object指向的內存? 所以最後真正的問題是:這會導致內存泄漏嗎?
謝謝。
感謝您指點。 – tunnuz 2009-01-24 11:45:39