std::weak_ptr<T>:: operator=
From cppreference.net
C++
Memory management library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::weak_ptr
| Member functions | ||||
|
weak_ptr::operator=
|
||||
| Modifiers | ||||
| Observers | ||||
|
(C++26)
|
||||
|
(C++26)
|
||||
| Non-member functions | ||||
| Helper classes | ||||
|
(C++20)
|
||||
| Deduction guides (C++17) |
|
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) |