Rob*_*oke 3 c++ memory-management
假设我有一个分配一些任意成员数据的类.我见过两种常见的方法(我知道还有其他方法):
class A
{
public:
A();
~A();
//Accessors...
private:
B *mB;
}
A::A()
{
mB = new B();
}
A::~A()
{
delete B;
}
Run Code Online (Sandbox Code Playgroud)
与...
class A
{
public:
//Accessors...
private:
B mB;
}
Run Code Online (Sandbox Code Playgroud)
假设A本身将由消费者代码在堆上分配.
在一般情况下,哪种方法更受欢迎?我意识到特定的情况确实鼓励这种或那种方式,但如果没有这些要求,是一种优先选择的方式吗?有什么权衡?
| 归档时间: |
|
| 查看次数: |
183 次 |
| 最近记录: |