c++ - 我应该明确地零初始化 auto_ptr 吗?

标签 c++ auto-ptr

我的一些同事更喜欢在构造函数初始化列表中将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/

相关文章:

c++ - 使用 QFtp 下载单个 .txt

c++ - 为 iOS7 编译 BlueZ?

c++ - 将 C++ 中的两个 xpath_node_set 与 pugixml 1.4 进行比较

c++ - 是否可以从字符串访问变量?

c++ - `myvector.push_back(autoPtr.release())`为什么提供强异常安全保障?

c++ - 列表初始化(使用花括号)有什么好处?

c++ - "using"(或其他机制)在 C++11 中将 unique_ptr 换成 auto_ptr?

c++ - auto_ptr 或 shared_ptr

c++ - Qt 和 auto_ptr

c# - c++ auto_ptr 与托管指针有何关系(Java、C#...)