c++ - C++17 中已弃用的 auto_ptr 的替代库/模板类

标签 c++ replace auto-ptr

共享项目库必须使用各种编译器 C++17 C++03 等进行编译。所以只需使用更好的 unique_ptr 或不太完美的 auto_ptr 如果要使代码保持通用,那么适当并不理想。

查看#ifdef 类型的解决方案,但它变得困惑。 另外,对久经考验的编码进行编辑并不是一个特别有吸引力的想法!

有人知道用于替换 auto_ptr 的形式、配合和功能下降吗?

最佳答案

Boost.MoveBoost Smart Pointer . std::unique_ptrstd::auto_ptr 可以替换为 boost::movelib::unique_ptr . std::shared_ptrstd::weak_ptr boost::shared_ptrboost::weak_ptr .

而且,您可以使用 boost::scoped_ptr 更具表现力无意转让所有权时。

关于c++ - C++17 中已弃用的 auto_ptr 的替代库/模板类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44959470/

相关文章:

c++ - 在这种情况下重载 bool 运算符是否危险

c++ - 将指向字符指针的指针分配给C中的字符矩阵

vim - 在 VIM 中替换从 = 到行尾的所有内容

python - 替换字符串中的子字符串

c++ - 这是一个很好的 std::auto_ptr<> 用例吗?

visual-studio-2008 - VC2008中的自动指针构造函数

c++ - 多次使用 Promise

c++ - 为什么我需要重新声明部分模板特化的方法/成员?

javascript - 如何从文本中过滤数字

c++ - 为什么在 std::auto_ptr 上不允许使用 operator []