Namespaces
Variants

std::experimental::weak_ptr<T>:: weak_ptr

From cppreference.net
constexpr weak_ptr ( ) noexcept ;
(1) (라이브러리 펀더멘털 TS)
weak_ptr ( const weak_ptr & r ) noexcept ;
(2) (라이브러리 펀더멘털 TS)
template < class Y >
weak_ptr ( const weak_ptr < Y > & r ) noexcept ;
(2) (라이브러리 펀더멘털 TS)
template < class Y >
weak_ptr ( const std:: experimental :: shared_ptr < Y > & r ) noexcept ;
(2) (라이브러리 펀더멘털 TS)
weak_ptr ( weak_ptr && r ) noexcept ;
(3) (라이브러리 펀더멘털 TS)
template < class Y >
weak_ptr ( weak_ptr < Y > && r ) noexcept ;
(3) (라이브러리 펀더멘털 TS)

r 와 객체를 공유할 수 있는 새로운 weak_ptr 을 생성합니다.

1) 기본 생성자. 빈 weak_ptr 을 생성합니다.
2) r 가 관리하는 객체를 공유하는 새로운 weak_ptr 을 생성합니다. r 이 객체를 관리하지 않는 경우, * this 도 객체를 관리하지 않습니다. 템플릿화된 오버로드는 Y* 가 암시적으로 T* 로 변환 가능하거나, 또는 Y 가 어떤 타입 U 와 숫자 N 에 대해 "N개의 U 배열" 타입이고, T 가 "(cv 한정자가 있을 수 있는) U 의 알 수 없는 경계 배열" 타입인 경우에만 오버로드 해결에 참여합니다.
3) 이동 생성자. weak_ptr 인스턴스를 r 에서 * this 로 이동합니다. 이후 r 은 비어 있으며 r. use_count ( ) == 0 입니다. 템플릿화된 오버로드는 다음 중 하나가 참이 아닌 경우 오버로드 해결에 참여하지 않습니다: Y* T* 로 암시적으로 변환 가능하거나, Y 가 어떤 타입 U 와 숫자 N 에 대해 "N개의 U 배열" 타입이고, T 가 "(possibly cv-qualified) U 의 unknown bound 배열" 타입인 경우.

목차

매개변수

r - std::experimental::weak_ptr 에 의해 참조될 std::experimental::shared_ptr 또는 std::experimental::weak_ptr

예외

noexcept 명세:
noexcept

예제

참고 항목

새로운 weak_ptr 을 생성함
( std::weak_ptr<T> 의 public 멤버 함수)
weak_ptr 을 할당함
( std::weak_ptr<T> 의 public 멤버 함수)