STL - Algorithm/Algorithm - Modifying
Algorithm - swap()
Programmer.
2017. 7. 12. 00:28
원형)
1 2 3 4 5 6 7 | //배열이 아닌경우 template <class T> void swap (T& a, T& b) noexcept (is_nothrow_move_constructible<T>::value && is_nothrow_move_assignable<T>::value); //배열의 경우 template <class T, size_t N> void swap(T (&a)[N], T (&b)[N]) noexcept (noexcept(swap(*a,*b))); | cs |
의미)
a와 b의 값을 교체합니다.
소스)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include<iostream> #include<algorithm> #include<vector> void Print(const std::vector<int>& target) { for (std::vector<int>::const_iterator iterPos = target.begin(); iterPos != target.cend(); iterPos++) std::cout << *iterPos << ' '; std::cout << std::endl; } void main() { std::vector<int> vector1 = { 1,3,5,7,9 }; std::vector<int> vector2 = { 2,4,6,8,10 }; std::cout << "Vector 1 --->"; Print(vector1); std::cout << "Vector 2 --->"; Print(vector2); std::swap (vector1, vector2); std::cout << "Vector 1 --->"; Print(vector1); std::cout << "Vector 2 --->"; Print(vector2); } | cs |
리턴값)
없음
결과)