我要问的是关于成员“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/