rotate_copy

rotate_copy (회전 복사)

범위를 회전시킨 결과를 새 목적지에 복사하는 알고리즘이에요. 원본은 그대로 두고요. <algorithm> 헤더에 있어요.

출처: cppreference

본문

rotate_copy[first, middle)[middle, last)를 바꾼 순서로 d_first에 복사해요.

template< class ForwardIt, class OutputIt >
OutputIt rotate_copy( ForwardIt first, ForwardIt middle, ForwardIt last,
                      OutputIt d_first );
  • 반환 값: 마지막으로 복사한 원소 다음 반복자.
std::vector<int> v{1, 2, 3, 4, 5};
std::vector<int> out(5);
std::rotate_copy(v.begin(), v.begin() + 2, v.end(), out.begin());
// out == {3,4,5,1,2}

원본을 보존하며 회전된 결과를 새 컨테이너에 담을 때 써요.

더 알아보기 (Learn more)

cppreference