gpt4 book ai didi

c++ - 对于由其他对象组成的 C++ 类,将这些成员对象设为指针是一种好习惯吗?

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

我要问的是关于成员“mylist”的更好做法:

像这样声明我的列表:

class MyClaz {
std::list<string> mylist;
...
}

或者这样声明:

class MyClaz {
std::list<string> *mylst;
MyClaz();
...
}

MyClaz::MyClaz() {
myList = new std::list<string>();
}
// plus destructor to delete myList

在第一种情况下,mylist 会在创建 MyClaz 实例时自动分配吗?当 MyClaz 被销毁时,它会被正确清理吗?

是否有理由使用第二种情况?看起来更危险。

最佳答案

谨慎使用指针,仅在需要时使用。没有指针有很多优点,包括不必手动管理对象的生命周期和数据局部性。问题应该是是否有任何理由使用第二种情况...

关于c++ - 对于由其他对象组成的 C++ 类,将这些成员对象设为指针是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24498454/

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