Make Unreal REAL.
article thumbnail
Published 2023. 2. 18. 22:21
swap(), iter_swap(), swap_ranges() C++/기타

 

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
profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그