C++Prime:参照

1815 ワード

リファレンスはオブジェクトに別の名前を付け、リファレンスタイプリファレンスは別のタイプです.通常、dは宣言された変数名である&dの形式で参照タイプを定義します.
int ival = 1024;

int &refval = ival;`// refval   ival( ival       )

int &refval2;     //

  
通常、変数を初期化すると、初期値が新しいオブジェクトにコピーされます.しかし、リファレンスを定義すると、プログラムはそのリファレンスと初期値を一度にバインドし、初期値をリファレンスにコピーするのではなく、初期化が完了すると、リファレンスはその初期値オブジェクトと常にバインドされます.リファレンスを別のオブジェクトに再バインドできないため、リファレンスを初期化する必要があります.
参照はオブジェクトではなく、既存のオブジェクトに付けられた別の名前にすぎません.
参照が定義された後に行われるすべての操作は、バインドされたオブジェクト上で行われます.
refval = 2;    //  2  refval     ,       ival

int ii = refval;    //  ii = ival       

  
参照に値を割り当てるのは、実際には参照にバインドされたオブジェクトに値を割り当てます.参照の値を取得します.実際には、参照にバインドされたオブジェクトの値を取得します.同様に、参照を初期値とし、実際には参照バインドされたオブジェクトを初期値とします.
int &refval3 = refval;    // refval3       refval      ,       ival 

int i = refval;    // i     ival  

リファレンス自体はオブジェクトではなく、リファレンスのリファレンスを定義できません.
 
すべての参照のタイプは、バインドされたオブジェクトと厳密に一致し、参照はオブジェクトにのみバインドされ、文字値や式の計算結果にバインドされません.