C++ named requirements: MoveAssignable (since C++11)
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
해당 타입의 인스턴스가 rvalue 인수로부터 할당될 수 있음을 지정합니다.
요구사항
타입
T
가 다음 조건을 만족하면
MoveAssignable
을 만족합니다
주어진
-
t, 타입T의 수정 가능한 lvalue 표현식 , -
rv, 타입T의 rvalue 표현식.
다음 표현식들은 유효해야 하며 지정된 효과를 가져야 합니다.
| Expression | Return type | Return value | Post-conditions |
|---|---|---|---|
| t = rv |
T&
|
t
|
t
와
rv
가 동일한 객체를 참조하지 않는 경우,
t
의 값은 할당 전
rv
의 값과 동일합니다.
|
참고 사항
이 타입 요구 사항을 충족하기 위해 타입이
move assignment operator
를 구현할 필요는 없습니다: 매개변수를 값으로 받거나
const Type&
로 받는
copy assignment operator
는 rvalue 인자에 바인딩됩니다.
만약
MoveAssignable
클래스가 이동 할당 연산자를 구현한다면, 할당 후
rv
의 값이 지정되지 않는다는 사실을 활용하기 위해
이동 의미론
도 구현할 수 있습니다.
참고 항목
|
(C++11)
(C++11)
(C++11)
|
타입이 이동 대입 연산자를 가지는지 확인합니다
(클래스 템플릿) |
|
(C++20)
|
타입이 다른 타입으로부터 대입 가능함을 명시합니다
(컨셉) |