[C.C++] C++中,&的作用

27 0
Honkers 6 小时前 | 显示全部楼层 |阅读模式

在C++中,&的作用取决于上下文。以下是一些基本规则来帮助判断&是作为取地址运算符还是作为引用符号:

1、作为取地址运算符:当&在一个已经存在的变量前面时,它是取地址运算符。例如:

  1. int a = 10;
  2. int* p = &a; // &a 是取变量 a 的地址
复制代码

2、作为引用符号:当&在类型声明中使用时,它表示引用。例如:

  1. int a = 10;
  2. int& ref = a; // ref 是 a 的引用
复制代码

3、在函数参数中:如果&在函数参数的类型声明中,那么它表示引用,这样函数可以修改传入参数的值。例如:

  1. void foo(int& a) { // a 是一个引用参数
  2. a = 20;
  3. }
复制代码

4、在函数调用中:如果&在函数调用时用于参数,那么它是取地址运算符。例如:

  1. void foo(int* a) { // a 是一个指针参数
  2. *a = 20;
  3. }
  4. int a = 10;
  5. foo(&a); // &a 是取变量 a 的地址
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Honkers

特级红客

关注
  • 3230
    主题
  • 36
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行