1.语法格式
int &别名=原名
#include<iostream> using namespace std; int main() { int a = 10; int& b = a; cout << b << endl; return 0; }
2.引用注意事项
#include<iostream> using namespace std; int main() { int a = 10; int& b = a; cout << b << endl; return 0; }
在上述代码当中,起了别名之后,如果改变原名的值,那么引用值也会相应变化
3.引用作函数参数
#include<iostream> using namespace std; void mySwap(int& a, int& b) { int temp = a; a = b; b = temp; } int main() { int a = 10; int b = 30; mySwap(a, b); cout << "a= " <<a<<" b= "<<b<< endl; system("pause"); return 0; }
4.引用作函数的返回值
//返回局部变量引用 int& test01() { int a = 10; //局部变量 return a; } //返回静态变量引用 int& test02() { static int a = 20; return a; } int main() { //不能返回局部变量的引用 int& ref = test01(); cout << "ref = " << ref << endl; cout << "ref = " << ref << endl; 2.5 引用的本质 本质:引用的本质在c++内部实现是一个指针常量. 讲解示例: 结论:C++推荐用引用技术,因为语法方便,引用本质是指针常量,但是所有的指针操作编译器都帮我 们做了 //如果函数做左值,那么必须返回引用 int& ref2 = test02(); cout << "ref2 = " << ref2 << endl; cout << "ref2 = " << ref2 << endl; test02() = 1000; cout << "ref2 = " << ref2 << endl; cout << "ref2 = " << ref2 << endl; system("pause"); return 0; }