参照と参照伝達パラメータの使用(一)
1898 ワード
参照は実際には暗黙的なポインタであり、オペレータ&によってオブジェクトに別名を作成します.&アドレスを取得するオペレータです.参照の形式は次のとおりです.データ型 &式;eg: int a=100; int & ia=a; ia=2; 参照変数iaが定義され、変数aの別名であり、iaに対する操作はaに対する操作と全く同じである.ia=2は2をaに割り当て,&aはaのアドレスを返す.実行ia=2と実行a=2は等価
. 参照の使用方法の説明:(1)あるC++参照が初期化された後、別のオブジェクトを参照することはできません.再拘束することはできません.(2)参照変数は他の変数の別名にすぎず,その効果は元のオブジェクトの操作と同じである.(3)ポインタ変数と参照には2つの主な違いがあります.1つは、ポインタがデータ型であり、参照がではありません.ポインタは、変数を指すデータ型に変換して付与できます.
値演算子の両方のタイプが一致します.リファレンスを使用する場合は、リファレンスと変数のデータ型が同じでなければならず、データ型変換はできません.二つ目はポインタ変数
参照変数も他の変数を指すために使用されますが、ポインタ変数で使用される構文は複雑です.参照変数を定義した場合、その使用方法は通常の変数と同じです.eg: int a=100; int *p=&a; int &ia=a; (4)参照は初期化する必要があります.そうしないと、エラーが発生します.eg: int a; int b; int &a; コンパイラはreferenceを報告します must be initializedのエラーのみでコンパイルが通過できません.次はexampleです.
//プログラムは変数aとキュー変数aの参照ref_を宣言した.a,aと参照ref_を絶えず変更することによってaの値は、参照を使用します.
出力結果:a=100 ref_a=100 a=2 ref_a=2 a=3 ref_a=3 a=20 ref_a=20 a=19 ref_a=19 =========================================
. 参照の使用方法の説明:(1)あるC++参照が初期化された後、別のオブジェクトを参照することはできません.再拘束することはできません.(2)参照変数は他の変数の別名にすぎず,その効果は元のオブジェクトの操作と同じである.(3)ポインタ変数と参照には2つの主な違いがあります.1つは、ポインタがデータ型であり、参照がではありません.ポインタは、変数を指すデータ型に変換して付与できます.
値演算子の両方のタイプが一致します.リファレンスを使用する場合は、リファレンスと変数のデータ型が同じでなければならず、データ型変換はできません.二つ目はポインタ変数
参照変数も他の変数を指すために使用されますが、ポインタ変数で使用される構文は複雑です.参照変数を定義した場合、その使用方法は通常の変数と同じです.eg: int a=100; int *p=&a; int &ia=a; (4)参照は初期化する必要があります.そうしないと、エラーが発生します.eg: int a; int b; int &a; コンパイラはreferenceを報告します must be initializedのエラーのみでコンパイルが通過できません.次はexampleです.
/*
* main.cpp
*
* Created on: 2012-9-17
* Author: china
* Demo
* !!!!!!!!!!!!
*/
#include <iostream>
using namespace std;
int main(int argc, char **argv) {
int a;
int &ref_a = a;
a = 100;
cout << "a=" << a << endl;
cout << "ref_a=" << ref_a << endl;
a = 2;
cout << "a=" << a << endl;
cout << "ref_a=" << ref_a << endl;
ref_a = 3;
cout << "a=" << a << endl;
cout << "ref_a=" << ref_a << endl;
int b = 20;
ref_a = b;
cout << "a=" << a << endl;
cout << "ref_a=" << ref_a << endl;
ref_a--;
cout << "a=" << a << endl;
cout << "ref_a=" << ref_a << endl;
return 0;
}
//プログラムは変数aとキュー変数aの参照ref_を宣言した.a,aと参照ref_を絶えず変更することによってaの値は、参照を使用します.
出力結果:a=100 ref_a=100 a=2 ref_a=2 a=3 ref_a=3 a=20 ref_a=20 a=19 ref_a=19 =========================================