Skip to content

智能指针

C++11 引入了两种智能指针:std::unique_ptr 和 std::shared_ptr。

C++14 增加了一个新的智能指针:std::shared_timed_mutex。

C++17 引入了四种智能指针:std::weak_ptr、std::shared_mutex、std::scoped_lock 和 std::shared_lock。

C++20 引入了一种新的智能指针:std::atomic_shared_ptr。

C++23 计划引入另外两种智能指针:std::unique_resource 和 std::const_pointer.

综上所述,C++11 至 C++23 标准定义的智能指针如下:

  • std::unique_ptr

  • std::shared_ptr

  • std::weak_ptr

  • std::shared_timed_mutex

  • std::shared_mutex

  • std::scoped_lock

  • std::shared_lock

  • std::atomic_shared_ptr

  • std::unique_resource (C++23)

  • std::const_pointer (C++23)