相关疑难解决方法(0)

这会导致C++中的内存泄漏吗?

我对C++内存管理有疑问,这显然与引用和指针有关.假设我有Class一个方法类my_method:

OtherClass& Class::my_method( ... ) {
    OtherClass* other_object = new OtherClass( ... );
    return *other_object;
}
Run Code Online (Sandbox Code Playgroud)

同时在附近的一段代码中:

{
    Class m( ... );
    OtherClass n;
    n = m.my_method( ... );
}
Run Code Online (Sandbox Code Playgroud)

所以,我知道有一个关于指针的一般规则(〜"任何新编辑,必须删除-d")以避免内存泄漏.但基本上我正在引用我的堆分配对象,所以当n超出范围时,不应该调用OtherClass的析构函数,从而释放之前由other_object指向的内存?所以最后真正的问题是:这会导致内存泄漏吗?

谢谢.

c++ pointers memory-leaks memory-management reference

6
推荐指数
3
解决办法
3241
查看次数