[转]c++中的引用新解

[转]c++中的引用新解

[转]c++中的引用新解

c++中的引用又称为别名.

1. 引用必须被初始化,即必须指向一个对象.
 int nTemp = 10;
int &refTemp = nTemp;

2.初始化之后就不能再指向其他对象.如果用一个引用给另一个引用赋值,那么被改变的是被引用的对象而不是引用本身.
int nOther = 20;
refTemp = nOther; //此时nTemp中的值为20,但是&refTemp和&nTemp是相同的.

3.用const修饰的引用可以用不同类型的对象初始化(只要能从一种类型转换到另外一种类型),也可以是不可寻址的值.能够这样的原因是因为:编译器做了手脚.
double dTemp = 1024;
const int &refTemp = dTemp; //&dTemp和&refTemp是不同的.

编译之后成为:
double dTemp = 1024;
int nTemp = dTemp;
const int &refTemp = nTemp;

4.不允许非const引用指向需要临时对象的对象或值.

你可能感兴趣的:([转]c++中的引用新解)