次のようプラクティスは、次のとおりです。
書式#include <iostreamの> 使用して、名前空間STD; // 一般的な交換が、ここでb値を注意して、特定のコールでの基本的なデータのコピーである、元のデータは変更されません // 交換価値は、ここで変更されませんので、無効スワップ(INT、INTの{B) INT TMP = A; = B; Bは = TMPを; } // 交換を参照して、同じ場所に元のデータポイントのパラメータは、さらにへのポインタとして理解することができる無効 refSwap(INTと、INTを&B){ // 一時変数TMPの値が格納されている定義する必要がINT TMP = A; = B; B = } TMPと、 // 交換へのポインタ、同じパラメータに元のデータポイントおよび局所 ボイド pointSwap(INT * A、int型 *のB){ // 一時変数TMPの値を定義する必要が格納されている INT TMP = * ; A // スワップのアドレス値へのポインタ * * = B; * Bは= TMPを; } int型のmain(){ COUT << " 参照ポインタスワップ機能&練習:" << ENDL; INT A = 11 ; int型 B = 22である。 COUT << 「一時変数交換:「 <<てendl; スワップ(A、B); COUT << " A:" << << ENDL; COUT << " B:" << B << ENDL; COUT << " 基準交換渡し:" << ENDL; // 注意:参照による呼び出し、限り、通常の移動定数ができるもの // ここでのみ書き込むように、本明細書に組み合わせることができる関数パラメータ、&A = Aを refSwap(A、B); COUT << " A:" << << ENDL; COUT << " Bを:" << B << てendl; 裁判所未満 << 「ポインタ交換:」 << ENDL; // 注:コール・ポインタ、追加&する必要 @ ここ関数パラメータと組み合わせることができる、* A =&ので、アドレスの書き込み&フェッチする必要性が存在 pointSwap(&A、&B)を、 COUT << " A:" < <<< ENDL、 COUT << " B:" << B << ; ENDL COUT << " エンド" << ENDL; 戻り 0 ; }
次のように出力されます。