假设我有一个类来分配一些任意的成员数据。我知道有两种常见的方法(当然还有其他方法):
假设A本身将由使用者代码在堆上分配。
通常情况下,哪种方法更好?我知道具体情况会鼓励采用其中一种方式,但在没有这些要求的情况下,是否有一种更好的方式?它们之间的权衡是什么?
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本身将由使用者代码在堆上分配。
通常情况下,哪种方法更好?我知道具体情况会鼓励采用其中一种方式,但在没有这些要求的情况下,是否有一种更好的方式?它们之间的权衡是什么?