比方說,我有一個分配一些任意成員數據的類。有跡象表明,我已經看到了使用兩種常用的方法(我知道還有其他人):分配C++類成員數據的首選方式是什麼?
class A
{
public:
A();
~A();
//Accessors...
private:
B *mB;
}
A::A()
{
mB = new B();
}
A::~A()
{
delete B;
}
對戰...
class A
{
public:
//Accessors...
private:
B mB;
}
假定A本身對消費者的代碼在堆上分配。
在一般情況下,哪種方法是首選?我意識到具體情況確實鼓勵某種方式,但在沒有這些要求的情況下,一種方式是優選的嗎?什麼是權衡?
發現內存泄露。 – 2010-09-01 15:20:42
不能回答這個問題,除非知道'B'是否也可能取決於'A'。 – Chubsdad 2010-09-01 15:31:44
有趣的事情發生在默認複製/分配指針。 :-X – Anycorn 2010-09-01 15:35:11