deref-move
cppreference.net에서
template< class I >
constexpr decltype(auto) /*deref-move*/( I& iter )
|
(C++17부터) (설명 전용*) |
|
iter을 역참조한 결과를 rvalue로 반환합니다:
- 만약
*iter이 lvalue 참조 타입이면std::move(*iter)을 반환합니다. - 그렇지 않으면
*iter을 직접 반환합니다.
매개변수
| iter | - | 참조된 객체가 이동될 반복자 |
반환값
위에서 설명한 대로.
참고
이 설명 전용 함수 템플릿은 LWG 이슈 3918의 해결로 도입되었습니다. 역참조 결과가 이미 rvalue인 경우 iter의 역참조 결과로부터 불필요한 이동 생성을 방지하는 데 사용됩니다.
참고 항목
(C++17) |
객체 범위를 초기화되지 않은 메모리 영역으로 이동합니다 (함수 템플릿 & 알고리즘 함수 객체) |
(C++20) |
|
(C++17) |
일정 개수의 객체를 초기화되지 않은 메모리 영역으로 이동합니다 (함수 템플릿 & 알고리즘 함수 객체) |
(C++20) |