「std::swap」の版間の差分
提供: C++入門
(ページの作成:「<!-- vim: filetype=mediawiki --> 読み方 __TOC__ == 概要 == std::swap は、2つのオブジェクトの値を交換します。 たとえば、こうい...」) |
(相違点なし)
|
2013年3月16日 (土) 15:52時点における版
読み方
目次
概要
std::swap は、2つのオブジェクトの値を交換します。
たとえば、こういったコードをわざわざ書くことはありません。
int a = 0, b = 100, t; t = a; a = b; b = t;
上記は、こうなります。
int a = 0, b = 100; std::swap(a,b);
std::swapのシンプルな例
ソースコード std_swap.cpp
#include <iostream> // std::cout #include <utility> // std::swap int main(int argc, char *argv[]) { int x = 10, y = 20; std::swap (x, y); std::cout << "x=" << x << " y=" << y << std::endl; return 0; }
コンパイル
g++ std_swap.cpp -o std_swap
実行例
% ./std_swap x=20 y=10
配列を swap する例
ソースコード std_swap_2.cpp
#include <iostream> // std::cout #include <utility> // std::swap int main(int argc, char *argv[]) { int foo[4]; // ? ? ? ? int bar[] = {10,20,30,40}; std::swap (foo, bar); // foo: 10 20 30 40 // bar: ? ? ? ? for ( int i: foo ) { std::cout << ' ' << i; } std::cout << std::endl; return 0; }
コンパイル
g++48 -std=c++11 std_swap_2.cpp -o std_swap_2
実行例
% ./std_swap_2 10 20 30 40