目录
1. 基本概念
std::swap是一个函数,其功能是交换给定值,交换两个参数的值。
2. 定义
定义于头文件 <algorithm>
定义于头文件 <utility>
template< class T >
void swap( T& a, T& b );
template< class T >
void swap( T& a, T& b ) noexcept(/* see below */);
template< class T >
constexpr void swap( T& a, T& b ) noexcept(/* see below */);
template< class T2, std::size_t N >
void swap( T2 (&a)[N], T2 (&b)[N]) noexcept(/* see below */);
template< class T2, std::size_t N >
constexpr void swap( T2 (&a)[N], T2 (&b)[N]) noexcept(/* see below */);
3. 使用案例
#include <iostream>
using namespace std;
int main()
{
cout << "hello std swap" << endl;
int a = 5 ;
int b = 10 ;
cout << "before: a = " << a << " b = " << b << endl;
swap(a,b);
cout << "after: a = " << a << " b = " << b << endl;
}
编译运行的结果如下
xuehaiyang@xuehaiyang-VPCEG27YC std_swap $ make
g++ -std=c++11 std_swap.cpp -o std_swap
xuehaiyang@xuehaiyang-VPCEG27YC std_swap $ ./std_swap
hello std swap
before: a = 5 b = 10
after: a = 10 b = 5