gpt4 book ai didi

smart-pointers - 正确使用 std::shared_ptr 和 std::auto_ptr

转载 作者:行者123 更新时间:2023-12-05 01:38:07 24 4
gpt4 key购买 nike

我知道以下智能类型的基本定义以及如何使用它们。但是我不太确定地点/情况
在哪里 :

  • std::auto_ptr应该优先于 std::shared_ptr .
  • std::shared_ptr应该优先于 std::auto_ptr .
  • std::auto_ptr : 用于确保它指向的对象在控制离开块时自动销毁。
  • std::shared_ptr : 在动态分配的对象周围包装一个引用计数的智能指针。
  • 最佳答案

    auto_ptr永远不应该使用,因为它从 C++111 开始被弃用。


  • std::shared_ptr如果要共享所有权
  • std::unique_ptr如果应该只有对象的独特 View ,即只有一个所有者
  • auto_ptr也不能在标准容器中使用,因为它不可复制。

    1: D.10 auto_ptr :“不推荐使用类模板 auto_ptr。[注意:类模板 unique_ptr (20.7.1) 提供了更好的解决方案。--end note”

    关于smart-pointers - 正确使用 std::shared_ptr 和 std::auto_ptr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7645294/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com