Namespaces
Variants

std::auto_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)
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 이 관리하는 객체로 교체합니다.

1) 효과적으로 reset ( r. release ( ) ) 를 호출합니다.
2) 효과적으로 reset ( r. release ( ) ) 를 호출합니다. Y* T* 로 암시적으로 변환 가능해야 합니다.
3) 효과적으로 reset ( m. release ( ) ) 를 호출합니다. 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) 추가됨