智能指针¶
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)