std::auto_ptr<T>:: operator=
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
auto_ptr
&
operator
=
(
auto_ptr
&
r
)
throw
(
)
;
|
(1) |
(C++11에서 사용 중단됨)
(C++17에서 제거됨) |
|
template
<
class
Y
>
auto_ptr & operator = ( auto_ptr < Y > & r ) throw ( ) ; |
(2) |
(C++11에서 사용 중단됨)
(C++17에서 제거됨) |
|
auto_ptr
&
operator
=
(
auto_ptr_ref
<
T
>
m
)
throw
(
)
;
|
(3) |
(C++11에서 사용 중단됨)
(C++17에서 제거됨) |
관리되는 객체를 r 또는 m 이 관리하는 객체로 교체합니다.
Y*
는
T*
로 암시적으로 변환 가능해야 합니다.
auto_ptr_ref
는
auto_ptr
에 대한 참조를 보유하는 구현 정의 타입입니다.
std::auto_ptr
은 이 타입으로
암시적으로 변환 가능하며
, 이 타입으로부터
암시적으로 변환될 수 있습니다
. 구현체는 이 템플릿에 다른 이름을 제공하거나 다른 방식으로 동등한 기능을 구현할 수 있습니다.
목차 |
매개변수
| r | - |
객체의 소유권을 이전할 또 다른
auto_ptr
|
| m | - |
auto_ptr
에 대한 참조를 보유하는 구현 정의 타입의 객체
|
반환값
* this .
참고 사항
auto_ptr_ref
의 생성자와 복사 할당 연산자는
이름 없는 임시 객체로부터
std::auto_ptr
을
복사 생성하고 할당할 수 있도록 제공됩니다. 복사 생성자와 복사 할당 연산자가
인자를 비-const 참조로 받기 때문에, 이들은 rvalue 인자를 직접 바인딩할 수 없습니다.
그러나
사용자 정의 변환
이 실행된 후(이는 원본
auto_ptr
을 해제합니다),
auto_ptr_ref
를 값으로 받는 생성자나 복사-할당 연산자를 호출할 수 있습니다.
이는
이동 의미론
의
초기 구현입니다.
결함 보고서
다음 동작 변경 결함 보고서는 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 127 | C++98 |
auto_ptr
는
auto_ptr_ref
로부터 할당 가능하지 않았음
|
오버로드 (3) 추가됨 |