-
引用的概述 引用是 C++ 语言中非常重要的特性之一,它允许程序员声明一个变量作为另一个变量的别名。换句话说,引用是已存在变量的别名。
int a = 100; // 定义一个整型变量a并赋初值100 int& b = a; // 声明一个整型引用b,并将其初始化为a cout << b << endl; // 输出b的值,即变量a的值
-
引用的定义方法 引用定义格式为:数据类型 &别名 = 变量名; 这里“&”符号起到了类型标识符和“取址运算符”的双重作用,表示该变量是一个引用类型。
double d = 6.28; double& dr = d; cout << "变量d的值: " << d << endl; cout << "引用变量dr的值: " << dr << endl; dr += 1; cout << "修改引用变量后, 变量d的值: " << d << endl;
-
引用与指针的比较 引用和指针是 c++ 中两个不同的概念,但在某些方面它们又非常相似。引用可以看作是一种特殊的指针,它们之间的主要区别有如下几点:
-
引用必须在定义时初始化;指针可以先定义再初始化。
-
引用只能指向一个具体的对象;而指针可以是空指针或者野指针。
-
引用在声明时不需要使用 * 符号;而指针必须使用 * 符号来标识所指向的变量。
int a = 10; int* p = &a; // 声明一个指向整型变量的指针p int& r = a; // 声明一个整型引用r,并将其初始化为a cout << "a = " << a << endl; cout << "*p = " << *p << endl; cout << "r = " << r << endl;
-
-
引用作为函数参数 在 C++ 中,引用还可以作为函数的形参传递变量,这通过引用可以更方便的修改变量的值。
void swap(int& a, int& b) { int tmp = a; a = b; b = tmp; } int main() { int x = 5, y = 10; cout << "x = " << x << ", y = " << y << endl; swap(x, y); cout << "swap(x, y)后:" << endl; cout << "x = " << x << ", y = " << y << endl; return 0; }
在 C++ 中,引用是一个非常重要的特性,可以提高程序的效率和可读性。但同时需要注意一些细节,如不要返回局部变量的引用,避免出现悬空引用等问题。