C++編で扱っている C++ は 2003年に登場した C++03
という、とても古いバージョンのものです。C++ はその後、C++11 -> C++14
-> C++17 -> C++20 -> C++23 と更新されています。
なかでも C++11 での更新は非常に大きなものであり、これから C++
の学習を始めるのなら、C++11
よりも古いバージョンを対象にするべきではありません。特に事情がないなら、新しい
C++ を学んでください。 当サイトでは、C++14 をベースにした新C++編を作成中です。
2つの型が同じ変数があるとき、両者の値を入れ替えたいとします。たとえば、以下のように2つの変数があるとき、
int x = 5;
int y = 10;
変数x の値が 10、変数y の値が 5 になるようにします。
C++ の標準ライブラリには、値の交換を行う std::swap関数(【標準ライブラリ】第15章)があるので、これを使います。C++03 までは <algorithm>、C++11 以降は <utility> という名前の標準ヘッダをインクルードしてください。
#include <algorithm> // C++11以降は <utility>
#include <iostream>
int main()
{
int x = 5;
int y = 10;
std::swap(x, y);
std::cout << "x == " << x << "\n"
<< "y == " << y << std::endl;
}
実行結果:
x == 10
y == 5
std::swap関数の引数は参照なので、&演算子を用いる必要はありません。
C++ では C言語の手法も使えますが、あえて std::swap関数以外の方法を使う意味はないです。
新規作成。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |