C++Prime:constの参照

2956 ワード

リファレンスをconstオブジェクトにバインドすることができます.他のオブジェクトにバインドするように、定数へのリファレンスと呼ばれます.通常の参照とは異なり、定数の参照は、バインドされたオブジェクトを変更するために使用できません.
const int ci = 1024;

const int &r1 = ci;    //

r1 = 42;    //   ,r1       

int &r2 = ci;    //

 
定数参照はconstへの参照であり、参照されるオブジェクトが定数であるか非常量であるかは、その関与する操作を決定することができるが、参照とオブジェクトのバインド関係自体にはどうしても影響しない.
  
初期化定数参照は、式の結果が参照のタイプに変換できる限り、任意の式を初期値として使用できます.特に、オブジェクト、フォント値、さらには式を定数参照にバインドできます.
int i = 42;

const int &r1 = i;    //    const int&       int   

const int &r2 = 42;    //   ,r2       

const int &r3 = r1 * 2;    //   ,r3       

int &r4  = r1 * 2;    //   ,r4           

  
constへの参照はconst以外のオブジェクトを参照する場合があります.
定数参照は、参照が関与する操作のみを限定し、参照されるオブジェクト自体が定数であるかどうかは限定されません.オブジェクトは非常に多いため、他の方法で値を変更できます.
  
int i = 42;

int &r1 = i;    //   r1    i

const int &r2 = i;    // r2     i,       r2  i  

r1 = 0;    // r1    ,i     0

r2 = 0;    //   ,r2