- const int &r = 42和int &r = 42前者可以编译过,而后者不可以。
double dval = 3.14; int &ri = dval; dval = 10;
编译出现error C2440: “初始化”: 无法从“double”转换为“int &”但下面的就可以
double dval = 3.14;
const int &ri = dval;
dval = 10;
前两条总结:非 const 引用只能绑定到与该引用同类型的对象;const 引用则可以绑定到不同但相关的类型的对象或绑定到右值。
3. typedef string *pstring; const pstring cstr<=>错误:const string *cstr;正确:string *const cstr;