std::enable_shared_from_this<T>::enable_shared_from_this
< cpp | memory | enable shared from this
|
constexpr enable_shared_from_this() noexcept;
|
(1) | (C++11 起) |
|
enable_shared_from_this( const enable_shared_from_this& other ) noexcept;
|
(2) | (C++11 起) |
构造新的 enable_shared_from_this 对象。值初始化仅用于阐释的 std::weak_ptr<T> 成员 weak-this。
参数
| other | - | 要复制的 enable_shared_from_this |
注解
无移动构造函数:从派生自 enable_shared_from_this 的对象移动不转移其共享身份。
示例
#include <memory> struct Foo : public std::enable_shared_from_this<Foo> { Foo() {} // 隐式调用 enable_shared_from_this 构造函数 std::shared_ptr<Foo> getFoo() { return shared_from_this(); } }; int main() { std::shared_ptr<Foo> pf1(new Foo); auto pf2 = pf1->getFoo(); // 与 pf1 共享对象所有权 }
参阅
|
(C++11)
|
拥有共享对象所有权语义的智能指针 (类模板) |