我的一些同事更喜欢在构造函数初始化列表中将std::auto_ptr
显式初始化为0
,但它会被初始化为0
在它的构造函数中没有任何显式初始化。那么有什么理由这样做吗?
#include <memory>
class A
{
A() : SomePtr(0)
{
}
private:
std::auto_ptr<SomeType> SomePtr;
};
最佳答案
不,std::auto_ptr
的默认构造函数正是这样做的,因此没有必要显式地这样做。无论如何,这是风格问题,您应该保持一致。例如,您是否会在构造函数初始化列表中显式调用成员 vector 的默认构造函数?
作为旁注,std::auto_ptr
在即将发布的标准中已弃用
关于c++ - 我应该明确地零初始化 auto_ptr 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7672374/