GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::enable_shared_from_this::enable_shared_from_this(3) C++ Standard Libary std::enable_shared_from_this::enable_shared_from_this(3)

std::enable_shared_from_this::enable_shared_from_this - std::enable_shared_from_this::enable_shared_from_this


constexpr enable_shared_from_this() noexcept; (1) (since C++11)
enable_shared_from_this( const enable_shared_from_this<T>&obj ) (2) (since C++11)
noexcept;


Constructs a new enable_shared_from_this object. The private std::weak_ptr<T> member
is value-initialized.


obj - an enable_shared_from_this to copy


There is no move constructor: moving from an object derived from
enable_shared_from_this does not transfer its shared identity.

// Run this code


#include <memory>


struct Foo : public std::enable_shared_from_this<Foo> {
Foo() {} // implicitly calls enable_shared_from_this constructor
std::shared_ptr<Foo> getFoo() { return shared_from_this(); }
};


int main() {
std::shared_ptr<Foo> pf1(new Foo);
auto pf2 = pf1->getFoo(); // shares ownership of object with pf1
}


shared_ptr smart pointer with shared object ownership semantics
(C++11) (class template)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.