std::experimental::weak_ptr<T>::weak_ptr
From cppreference.com
< cpp | experimental | weak ptr
constexpr weak_ptr() noexcept; |
(1) | (library fundamentals TS) |
weak_ptr( const weak_ptr& r ) noexcept; |
(2) | (library fundamentals TS) |
template< class Y > weak_ptr( const weak_ptr<Y>& r ) noexcept; |
(2) | (library fundamentals TS) |
template< class Y > weak_ptr( const std::experimental::shared_ptr<Y>& r ) noexcept; |
(2) | (library fundamentals TS) |
weak_ptr( weak_ptr&& r ) noexcept; |
(3) | (library fundamentals TS) |
template< class Y > weak_ptr( weak_ptr<Y>&& r ) noexcept; |
(3) | (library fundamentals TS) |
Constructs a new weak_ptr
that potentially shares an object with r.
1) Default constructor. Constructs empty
weak_ptr
.2) Constructs new
weak_ptr
which shares an object managed by r. If r manages no object, *this manages no object too. The templated overloads don't participate in overload resolution unless either Y*
is implicitly convertible to T*
, or Y
is the type "array of N
U
" for some type U
and some number N
, and T
is the type "array of unknown bound of (possibly cv-qualified) U
". 3) Move constructors. Moves a
weak_ptr
instance from r into *this. After this, r is empty and r.use_count() == 0. The templated overload doesn't participate in overload resolution unless either Y*
is implicitly convertible to T*
, or Y
is the type "array of N
U
" for some type U
and some number N
, and T
is the type "array of unknown bound of (possibly cv-qualified) U
".Parameters
r | - | a std::experimental::shared_ptr or std::experimental::weak_ptr that will be viewed by this std::experimental::weak_ptr |
Exceptions
noexcept specification:
noexcept
Example
This section is incomplete Reason: no example |
See also
creates a new weak_ptr (public member function of std::weak_ptr<T> ) | |
assigns the weak_ptr (public member function of std::weak_ptr<T> ) |