swap()은 알고 있었지만 iter_swap(), swap_ranges()라는 STL 함수도 있다는 걸 오늘 알았다.
- 당연한 얘기지만 타입이 다른 반복자끼리는 사용할 수 없다.
#include <iostream>
#include <vector>
using namespace std;
void print(vector<int> v)
{
for (int e : v)
cout << e << " ";
cout << endl;
}
void main()
{
int x = 5;
int y = 10;
swap(x, y);
cout << "x: " << x << ", y: " << y << endl << endl;
vector<int> v1{1, 2, 3, 4, 5};
vector<int> v2{6, 7, 8, 9, 10};
iter_swap(v1.begin(), v2.begin());
cout << "v1: "; print(v1);
cout << "v2: "; print(v2);
cout << endl;
swap_ranges(v1.begin() + 2, v1.end(), v2.begin() + 2);
cout << "v1: "; print(v1);
cout << "v2: "; print(v2);
}
출력
x: 10, y: 5
v1: 6 2 3 4 5
v2: 1 7 8 9 10
v1: 6 2 8 9 10
v2: 1 7 3 4 5
'C++ > 기타' 카테고리의 다른 글
override 키워드 (0) | 2023.03.01 |
---|---|
__cplusplus (0) | 2023.02.21 |
재사용 가능한(Reusable) 코드 작성 (0) | 2023.02.16 |
배열의 크기를 확인할 때 주의할 점 (0) | 2023.02.13 |
디폴트 매개변수(Default Parameter) (0) | 2023.01.30 |