c++ 简记 – reference
引用 代表一个对象 作为对象的别名而存在
注意:引用非对象 只是别名
引用不能修改代表对象
引用必须初始化
TypeA &referenceName = TypeAvar;//初始化
//运行时初始化
TypeA &referenceName = TypeAvarFunction();
引用和const
Const 限定引用可参与的操作
两种特殊引用 :
<1>reference代表不同类型变量
Const typeA &referenceName = typeBvar;
实际编译为:
`typeBvar = typeBvar;const typeA referenceName= typeBvar;`
即:代表一个临时量(temporary)
故而并没有代表 意图代表的对象
注:非常量引用 不能代表(refer)不同类型对象
(代表了也只是代表临时量<原因如上>
不能参与改变对象值得操作 c++标准把此类归为非法操作);
在上述语境(const reference),下面的操作是允许的:
Const type &referenceName = 13;
非常量引用(const reference)不允许代表数字
<2>强调const只是限定reference能参与的操作
ex:type var;
const type &referenceA = var;
type &referenceB = var;
referenceA = 13;//非法
// const限定了referenceA 参与修改代表对象值的操作
referenceB = 13; //合法