std::experimental::weak_ptr<T>:: weak_ptr
From cppreference.net
<
cpp
|
experimental
|
weak ptr
|
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 멤버 함수)
|