&交換機能のポインタ参照実践

次のようプラクティスは、次のとおりです。

書式#include <iostreamの> 使用して、名前空間STD; // 一般的な交換が、ここでb値を注意して、特定のコールでの基本的なデータのコピーである、元のデータは変更されません
 // 交換価値は、ここで変更されませんので、無効スワップ(INTINTの{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 ; 
}

次のように出力されます。

 

おすすめ

転載: www.cnblogs.com/do-your-best/p/11141644.html