Namespaces
Variants

std::weak_ptr<T>:: operator=

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
weak_ptr & operator = ( const weak_ptr & r ) noexcept ;
(1) (C++11부터)
template < class Y >
weak_ptr & operator = ( const weak_ptr < Y > & r ) noexcept ;
(2) (C++11부터)
template < class Y >
weak_ptr & operator = ( const shared_ptr < Y > & r ) noexcept ;
(3) (C++11부터)
weak_ptr & operator = ( weak_ptr && r ) noexcept ;
(4) (C++11부터)
template < class Y >
weak_ptr & operator = ( weak_ptr < Y > && r ) noexcept ;
(5) (C++11부터)

관리되는 객체를 r 가 관리하는 객체로 대체합니다. 해당 객체는 r 와 공유됩니다. 만약 r 가 객체를 관리하지 않는다면, * this 도 객체를 관리하지 않습니다.

1-3) 다음과 동등함: std:: weak_ptr < T > ( r ) . swap ( * this ) .
4,5) 다음에 해당함 std:: weak_ptr < T > ( std :: move ( r ) ) . swap ( * this ) .

목차

매개변수

r - 객체를 공유하기 위한 스마트 포인터

반환값

* this

참고 사항

구현 시 임시 weak_ptr 객체를 생성하지 않고도 요구사항을 충족할 수 있습니다.

결함 보고서

다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 2315 C++11 weak_ptr 에 대해 이동 의미론이 활성화되지 않았음 활성화됨

참고 항목

새로운 weak_ptr 을 생성함
(public member function)
관리되는 객체들을 교환함
(public member function)