Thinking Different




boost::swap

두 인자를 서로 맞교환한다. 객체의 경우 복사생성자 호출을 통한 교환이 이루어진다

std::swap 과 동일하다


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include "stdafx.h"
 
#include <boost/swap.hpp>
 
class test
{
public:
    test(string s) { ss = s; }
    void print() { cout << ss.c_str() << endl; }
 
private:
    string ss;
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    int x = 5;
    int y = 25;
 
    std::swap(x, y);
    
    cout << x << endl;
    cout << y << endl;
 
    ////////////////////////
 
    char i = 'X';
    char j = 'Y';
 
    ::swap(i, j);
 
    cout << i << endl;
    cout << j << endl;
 
    ////////////////////////
 
    test a("NICE");
    test b("GOOD");
 
    boost::swap(a, b);
 
    a.print();
    b.print();
 
    return 0;
}




'프로그래밍 언어 > boost' 카테고리의 다른 글

io_services.run() non-blocking 하게 돌리자  (0) 2015.11.25
Boost.Array  (0) 2015.05.04
Boost.Tuple & std::pair  (0) 2015.05.03
Boost.Function  (0) 2015.05.01
Boost.Bind  (0) 2015.04.30