本文介绍了auto_ptr是否已弃用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  1. 在传入的C ++标准中会不建议使用auto_ptr吗?
  2. 应该将unique_ptr而不是shared_ptr用于所有权转让吗?
  3. 如果unique_ptr不在标准中,那么我是否需要使用shared_ptr?

推荐答案

更新:此答案写于2010年,按预期std::auto_ptr已弃用.该建议完全有效.

UPDATE: This answer was written in 2010 and as anticipated std::auto_ptr has been deprecated. The advice is entirely valid.

在C ++ 0x中,不推荐使用std::auto_ptr,而推荐使用std::unique_ptr.智能指针的选择将取决于您的用例和您的需求,其中std::unique_ptr具有针对单个所有权的移动语义,可以在容器内使用(具有移动语义),而std::shared_ptr具有所有权共享时.

In C++0x std::auto_ptr will be deprecated in favor of std::unique_ptr. The choice of smart pointer will depend on your use case and your requirements, with std::unique_ptr with move semantics for single ownership that can be used inside containers (using move semantics) and std::shared_ptr when ownership is shared.

您应该尝试使用最适合情况的智能指针,选择正确的指针类型将使其他程序员对您的设计有深刻的了解.

You should try to use the smart pointer that best fits the situation, choosing the correct pointer type provides other programmers with insight into your design.

这篇关于auto_ptr是否已弃用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-06 09:33