标签:必须 专业 大量 注意 color 直接 err 地址 ++
专业的C++代码会用到大量的引用,在C++中引用是变量的别名,所有对引用的修改都会改变被引用变量的值,可以将引用当作隐私指针,这个指针没有取变量地址和解除引用的麻烦(也可以将引用当作是原始变量的别名)。
1.引用变量
引用变量在创建的时候必须初始化
int a = 0; int &b = a; //work std::cout << "b:" << b << std::endl; //int &c = 0; //error
const int &c = 0; //work
值得注意的是:不能对创建引用直接“值传递”,除非这是一个const引用;
引用总是引用当初初始化的那个变量,一旦创建就无法修改变量,但是可以修改变量的值,比如:
int x = 1,y = 2; int &xRef = x,&yRef = y; std::cout << "X : " << xRef << std::endl; std::cout << "y : " << yRef << std::endl; //X : 1 //y : 2 xRef = &y; //error
为什么错误呢?
因为xRef是int&,而y得地址是一个指针。所以两者而无法赋值。
如果将一个引用赋值给另一个引用呢?
xRef = yRef; std::cout << "X : " << xRef << std::endl; std::cout << "y : " << yRef << std::endl;
结果是:
X : 2
y : 2
看出这里只是将y的值传递给xRef(也就是x),但是XRef还是x得引用。
标签:必须 专业 大量 注意 color 直接 err 地址 ++
原文地址:https://www.cnblogs.com/boost/p/10347667.html