易混淆的符号&

C++自学精简教程 目录(必读)

**&**符号在C++中有多个含义。

下面我们列出常见的3种,你都能分得清吗?

cpp 复制代码
#include <iostream>
using namespace std;

//传递引用类型的参数 pass by reference
void fun(int& a)//(1) 这里的 & 表示参数a是引用类型
{
    a = 4;
}
void fun2(int* p)
{
    *p = 6;
}

int main()
{
    int n = 2;
    cout << "n=" << n << endl;

    int& nn = n;//(2) 这里的 & 是引用类型, nn 是 n 的别名
    nn = 3;
    cout << "n=" << n << endl;

    fun(n);
    cout << "n=" << n << endl;

    int* p = &n;//(3) 这里的 & 是取地址运算符,&n 是 n 的地址
    *p = 5;
    cout << "n=" << n << endl;

    fun2(&n);//(3) 这里的 & 是取地址运算符,&n 是 n 的地址
    cout << "n=" << n << endl;

    return 0;
}

main函数中的变量

运行结果

相关推荐
鳄鱼儿1 分钟前
密码算法的OID查阅
算法
ModestCoder_8 分钟前
ROS Bag与导航数据集技术指南
开发语言·人工智能·自然语言处理·机器人·具身智能
卡提西亚11 分钟前
C++笔记-34-map/multimap容器
开发语言·c++·笔记
lxh011331 分钟前
螺旋数组题解
前端·算法·js
2***B44932 分钟前
C++在金融中的QuantLibXL
开发语言·c++·金融
A***07171 小时前
C++在游戏中的阴影渲染
开发语言·c++·游戏
2401_837088501 小时前
Redisson的multilock原理
java·开发语言
合作小小程序员小小店1 小时前
桌面开发,在线%超市销售管理%系统,基于vs2022,c#,winform,sql server数据
开发语言·数据库·microsoft·c#
czlczl200209251 小时前
算法:二叉树的公共祖先
算法