C++引用
2012-12-24 20:24
113 查看
1. 引用是别名
在c++中引用(reference)就是对象的另一个名字。引用必须用于该引用同类型的对象初始化。例如:
注解:引用初始化后,就保持绑定到初始化时指定的对象上。不可能将引用绑定到另一个对象。理解引用只是对象的另一个名字。
2. const 引用
const 引用是指向const 对象的引用。
实际上编译器会将上述代码装换为如下形式的编码:
注解:非const对象只能绑定到与该引用同类型的对象。const引用则可以绑定到不同但相关类型的对象或右值。
在c++中引用(reference)就是对象的另一个名字。引用必须用于该引用同类型的对象初始化。例如:
int ival =1024; int &refVal = ival; //OK int &refVal2; //错误,引用类型必须初始化 int &refVal3 = 10; //错误:必须用对象初始化
注解:引用初始化后,就保持绑定到初始化时指定的对象上。不可能将引用绑定到另一个对象。理解引用只是对象的另一个名字。
2. const 引用
const 引用是指向const 对象的引用。
const int ival = 2; const int &refVal = ival; //正确 int &ref2 = ival; //错误:非const引用指向const兑现const 引用可以初始化为不同类型的对象那个或初始化为右值。例:
//const 引用初始化为右值,…… int val = 0; const int constVal = 9; const int &refVal=constVal; const int &ref2 = 9+val;
//const 引用绑定到不同类型对象 double dval =2.14; const int &ref3 = dval;
实际上编译器会将上述代码装换为如下形式的编码:
int temp = dval; const int &ref3 = temp; //临时对象
注解:非const对象只能绑定到与该引用同类型的对象。const引用则可以绑定到不同但相关类型的对象或右值。