关于内存泄露问题
class A
{
private:
int * m_b;
public:
...
A(int *b=0){m_b=b;};
~A(){m_b=0;};
void operator = (int* b){m_b=b;};
}
如果在程序中:
b 获得一个指针;
A=b;
b 释放地址;
b 获得另一个指针;
A=b;
这样是否会内存泄露? A中的m_b的地址是否要释放?
[解决办法]
不会。在A类里没有new,不用delete
[解决办法]
没有new和delete!!!所以谈不上没有内存泄露和没有释放
[解决办法]
没看见new... ...啥地方new地?
[解决办法]
把你的描述用代码写出来:
====================================================================================
b 获得一个指针; int* b=new int(0);
A=b; A a=b;
b 释放地址; delete b; //这一步已经delete了,所以不会泄漏.
b 获得另一个指针; b=new int(0);
A=b; a=b;
====================================================================================