[C++] 引用类型&
引用的方法:
类型 &引用名 = 变量名;
例如:
int a = 5; int &b = a;
引用的规则:
1、引用被创建的同时必须被初始化
2、无null引用,引用必须与合法的存储单元关联
3、一旦引用被初始化,就不能改变引用的关系
4、引用只能引用变量,不能引用常量和表达式
举例:
#include <iostream> using namespace std; // 使用普通类型交换,失败 void swap1(int a, int b) { int tmp; tmp = a; a = b; b = tmp; } // 使用引用类型交换,和指针功能一样,成功 void swap2(int &a, int &b) { int tmp; tmp = a; a = b; b = tmp; } int main(void) { int a = 35; // b是a的引用类型,b是a的别名,本质是同一个变量 int &b = a; // a和b的值一样 cout << "a = " << a << ", b = " << b << endl; // a和b的地址相同 cout << "&a = " << &a << ", &b = " << &b << endl; // 设置a的值,b也随之改变 a = 100; cout << "a = " << a << ", b = " << b << endl; // 设置b的值,a也随之改变 b = 55; cout << "a = " << a << ", b = " << b << endl; int c = 500; cout << "a = " << a << ", c = " << c << endl; // 交换失败 swap1(a, c); cout << "a = " << a << ", c = " << c << endl; // 交换成功 swap2(a, c); cout << "a = " << a << ", c = " << c << endl; return 0; }
执行结果: