C++(引用符号&、访问内存地址&)
在C++中,引用符号 &
和访问内存地址的 &
运算符有不同的用途和含义。
-
引用符号
&
:创建引用- 使用
&
符号可以创建引用,即给一个变量起一个别名。引用是一个别名,它与原变量共享相同的内存地址。 - 引用在声明时必须初始化,并且一旦初始化后,不能再引用其他变量。
int x = 10; int& ref = x; // 创建整数引用 ref,它是 x 的别名 cout << x << endl; // 输出 10 cout << ref << endl; // 输出 10 x = 20; cout << ref << endl; // 输出 20,因为 ref 是 x 的别名
在这个例子中,
ref
是变量x
的引用,它们共享相同的内存地址,因此修改其中一个会影响另一个。 - 使用
-
访问内存地址的
&
运算符:获取变量的内存地址- 使用
&
运算符可以获取变量的内存地址。 - 通常与指针一起使用,将变量的地址存储在指针中。
int y = 30; int *ptr = &y; // 创建整数指针 ptr,存储变量 y 的内存地址 cout << &y << endl; // 输出变量 y 的内存地址 cout << ptr << endl; // 输出变量 y 的内存地址,与上一行相同 cout << *ptr << endl; // 输出变量 y 的值,通过指针访问
在这个例子中,
&y
表示变量y
的内存地址,而ptr
存储了变量y
的地址。通过*ptr
可以访问存储在该地址上的值。 - 使用
总结:
&
符号在不同的上下文中有不同的含义。- 在声明中,它用于创建引用,即变量的别名。
- 在表达式中,作为运算符,它用于获取变量的内存地址。