vector의 내용을 왼쪽으로 shift할려면 어떻게 할까요?

stypr의 이미지

php의 array_shift 함수처럼 c++에서 vector의 내용을 왼쪽으로 한칸씩 shift할려고합니다.
어떻게 처리하면 될까요?
이런 함수를 제공하면 좋을텐데 말입니다.

vector의 내용 = {'1, '2', '3', '4'}
쉬프트 결과
{'2','3','4','1'}

kewlbear의 이미지

vector말고 deque를 쓰시죠?

doldori의 이미지

std::rotate()를 쓰십시오.

#include <vector>
#include <algorithm>
 
int a[] = { 1, 2, 3, 4 };
std::vector<int> v(a, a + 4);
std::rotate(v.begin(), v.begin() + 1, v.end());