gpt4 book ai didi

c++ - 分配 C++ 类成员数据的首选方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 19:44:52 24 4
gpt4 key购买 nike

假设我有一个分配一些任意成员数据的类。我见过两种常用的方法(我知道还有其他方法):

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本身会被消费者代码分配到堆上。

在一般情况下,首选哪种方法?我意识到具体情况确实鼓励一种方式,但在没有这些要求的情况下,一种方式是首选吗?权衡是什么?

最佳答案

第二个是首选路线。不要使用 new/delete 除非你特别需要一个变量在堆上或者有比它的容器更长的生命周期。 C++ 值类型更易于管理,并且无需担心恕我直言的错误情况

关于c++ - 分配 C++ 类成员数据的首选方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3619566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com