#include <utility> template <class T> void swap(T& a, T& b); template <class T, size_t N> void swap(T (&a)[N], T (&b)[N]);
#include <stdio.h> #include <utility> using namespace std; int main() { // 配列の交換 int a1[] = {1, 2, 3}; int a2[] = {4, 5, 6}; printf("配列の交換\n"); printf(" a1 :"); for (auto x : a1) printf(" %d", x); printf("\n"); printf(" a2 :"); for (auto x : a2) printf(" %d", x); printf("\n"); swap(a1, a2); // a1 と a2 は同じサイズ printf(" swap 後 a1 :"); for (auto x : a1) printf(" %d", x); printf("\n"); printf(" swap 後 a2 :"); for (auto x : a2) printf(" %d", x); printf("\n"); // 数値の交換 int b1 = 1; int b2 = 10; printf("配列の交換\n"); printf(" b1 : %d\n", b1); printf(" b2 : %d\n", b2); swap(b1, b2); printf(" swap 後 b1 : %d\n", b1); printf(" swap 後 b2 : %d\n", b2); return 0; }
配列の交換 a1 : 1 2 3 a2 : 4 5 6 swap 後 a1 : 4 5 6 swap 後 a2 : 1 2 3 配列の交換 b1 : 1 b2 : 10 swap 後 b1 : 10 swap 後 b2 : 1
菅沼ホーム | 本文目次 | 演習問題解答例 | 付録目次 | 索引 |