C ++の参照コンセプト
すなわち、別の変数への参照マップであり、またはそれは別の変数の別名であり、参照名と変数の内容と変数名にアクセスすることができます
定義
int num = 10;
int &r = num; // 创建了引用r
printf("%d\n", num); // 10
printf("%d\n", r); // 10
ポインタとは異なり、
- それらが宣言されているときに、参照が初期化されなければならないの後、これはビットの定数ポインタのようなものですもはや割り当てることが宣言されていないことができます
- リファレンスが参照されたオブジェクトを置き換えることはできません、あなただけの創造の初めから変数を参照することができ、およびオブジェクトへのポインタを交換することができます
- ヌル参照は、それが有効なメモリアドレスを参照する必要があり、存在しない、とポインタがNULLポインタすることができ
const参照
典型的には、参照は、同じ値のタイプを意味し、その
int num = 10;
int &a = num; // 引用a只能引用int型的对象
しかしによってconst
修飾された基準は異なり、それは、自己参照の異なるタイプ(前提はシステムタイプにわたって変換することができるということである)、あるいはリテラル参照を参照することができます
int &a = 120; // 错误
const int &a = 120; // 正确