std::move_iterator<Iter>::base
From ko.cppreference.net
iterator_type base() const;
|
(1) | (constexpr since C++17) (C++20까지) |
constexpr const iterator_type& base() const& noexcept;
|
(C++20부터) | |
constexpr iterator_type base() &&;
|
(2) | (C++20부터) |
기본 반복자를 반환합니다.
1) 기본 반복자의 복사본(C++20까지)참조(C++20부터)를 반환합니다.
2) 기본 반복자로부터 이동 생성된 반복자를 반환합니다.
반환값
1)
current
2)
std
::
move
(
current
)
예제
이 코드 실행
#include <algorithm> #include <iostream> #include <iterator> #include <vector> int main() { std::vector<int> v{0, 1, 2, 3, 4}; std::move_iterator<std::vector<int>::reverse_iterator> m1{v.rbegin()}, m2{v.rend()}; std::copy(m1.base(), m2.base(), std::ostream_iterator<int>(std::cout, " ")); std::cout << '\n'; }
출력:
4 3 2 1 0
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 3391 | C++20 | 오버로드 ( 1 ) 가 기본 반복자의 사본을 반환함 | 참조를 반환함 |
| LWG 3593 | C++20 | 오버로드 ( 1 ) 가 noexcept가 아님 | noexcept로 지정됨 |
참고 항목
|
가리키는 요소에 접근
(public member function) |