ranges::reverse_copy
ranges::reverse_copy (뒤집어 복사 — ranges)
범위를 뒤집은 결과를 새 목적지에 복사하는 ranges 버전 알고리즘이에요. <algorithm> 헤더에 있어요.
출처: cppreference
본문
std::ranges::reverse_copy는 [first, last)를 뒤집은 순서로 result에 복사해요. 원본은 그대로 두고요.
namespace std::ranges {
template< std::bidirectional_iterator I, std::sentinel_for<I> S,
std::weakly_incrementable O >
requires std::indirectly_copyable<I, O>
constexpr reverse_copy_result<I, O>
reverse_copy( I first, S last, O result );
}
- 반환 타입
reverse_copy_result{in, out}.
std::vector<int> v{1, 2, 3, 4};
std::vector<int> out(4);
std::ranges::reverse_copy(v, out.begin());
// out == {4,3,2,1}, v는 그대로
원본을 보존하며 뒤집은 결과를 새 컨테이너에 담을 때 쓰는 ranges 버전이에요.