在C++中,FF我有一个类,需要保持其可以被动态分配和用作指针,或不是会员,这样的:动态与非动态类成员
class A {
type a;
};
或
class A {
A();
~A();
type* a;
};
,并在构造函数中:
A::A {
a = new type();
}
和析构函数:
A::~A {
delete a;
}
除了需要更多代码的动态代码之外,其中还有其他优缺点吗?它们的行为是否有所不同(除了指针必须被解除引用)还是比另一个更慢?我应该使用哪一个?
努力获得正确的可维护代码,然后在需要时处理性能问题。 – 2010-07-26 19:28:13
你的第二个'A'是不安全的;你需要定义拷贝构造函数和'operator ='。永远不要拥有这样的指针,把它们包装起来,所以你不需要写任何*特殊的成员函数。 – GManNickG 2010-07-26 19:32:38