引用基本语法:
数据类型 &别名=原名 (别名和原名指向同一块内存) int &b=a;
1.引用必须初始化 int &a (error)
2.引用初始化后不可更改
3.不可有引用的引用
(int& b=a;发现是引用,转换为int* const b =&a; 指针常量使指针指向不可更改,所以初始化后不可更改)
引用一个不可取地址的量,这个量就会生成一个临时量然后被引用,而且临时量都具有常属性,所以要用常引用 const int &b=100;
void Swap(int& a, int& b)//引用传递
{
int tmp = a;
a = b;
b = tmp;
}
引用做函数返回值 变量的生存期不受函数的限制才可当作函数的引用返回
1.不要返回局部变量的引用,可返回静态变量的引用
2.如果函数的返回值是引用,函数的调用可以作为左值
引用的本质在C++内部实现是一个指针常量
int& text()
{
static int a = 10;//注意不是局部变量
return a;
}
int main()
{
int a = 10;
int b = 20;
Swap(a, b);
cout << a << endl;
cout << b << endl;int& c = text(); //普通情况作为右值
cout << c << endl;
text() = 100; //返回值为引用,函数可做左值
cout << c << endl;
system("pause");
}