21xrx.com
2024-12-26 23:56:27 Thursday
登录
文章检索 我的文章 写文章
C++中的&用法
2023-07-01 01:24:33 深夜i     --     --
C++ & 引用 地址 指针

在使用C++语言开发程序时,开发者经常会遇到&符号的使用。&符号在C++中有多种用法,本文将介绍其中的几种常见用法。

1. 取地址符

&符号的最基本用法是取地址符。在C++中,每个变量都有其在内存中的地址。&符号可以用来获取一个变量在内存中的地址。例如,下面的代码可以输出变量a的地址:


int a = 10;

cout << &a << endl;

2. 引用变量

在C++中,可以使用引用变量来给一个已存在的变量起另一个名字。引用变量使用&符号来声明,例如下面的代码可以创建一个int类型的引用变量b,它和变量a的值指向同一块内存地址:


int a = 10;

int &b = a;

cout << b << endl;

修改b的值也会同时修改a的值,因为它们指向同一块内存地址,例如下面的代码可以将a的值改为20:


b = 20;

cout << a << endl;

3. 传递参数

在C++中,可以使用&符号来传递参数的引用。引用参数在函数中和传统的值参数不同,因为它们允许函数修改调用者的实参。例如,下面的代码演示了一个函数,它通过引用参数将传入的两个整数交换了值:


void swap(int& a, int& b)

  int temp = a;

  a = b;

  b = temp;

int main(){

  int x = 3, y = 5;

  swap(x, y);

  cout << x << " " << y << endl; //输出 "5 3"

  return 0;

}

4. 指针运算符

&符号还可以与*符号一起使用,来进行指针运算符的操作。当&符号和*符号放在一起时,它会取消指针变量对变量的间接引用。例如,下面的代码演示了将一个整数变量的地址赋值给一个指针变量,然后再取消指针变量对该整数的间接引用:


int a = 10;

int *ptr = &a;

cout << *ptr << endl; //输出 "10"

cout << &*ptr << endl; //输出 "0x61fe1c"

&符号在C++中有多种常见的用法,本文介绍了其中的几种常见用途,希望可以帮助读者更好地理解C++语言中的&符号。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复