我已经决定从原始指针转向智能指针,所以我可以从阅读 http://en.cppreference.com/w/cpp/memory/auto_ptr 开始.
我看到它们专门用于 void
。
这是为什么?它在任何情况下都有用吗?
最佳答案
这是在 LWG 541 中完成的.这个问题有完整的理由。但简而言之,这样做是为了与当时的 std::tr1::shared_ptr
兼容(后来标准化为 std::shared_ptr
)。
如果您正在研究从原始指针到智能指针的转变,我强烈建议您使用 unique_ptr
而不是 auto_ptr
。 auto_ptr
已弃用,这是有充分理由的。 unique_ptr
是 auto_ptr
的推荐替代品。
Here is a link解释弃用 auto_ptr
并将其替换为 unique_ptr
的理由。
关于c++ - 为什么 auto_ptr 专门用于 void?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18674895/