You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++中&符号的含义辨析:指针与引用场景下的不同解读

C++中&符号在指针与引用中的含义疑问

我的困惑

指针与引用均使用符号&,指针中&通常被解读为“取地址”,我疑惑引用中的&是否也应作此解读。

我的推论

当&出现在=右侧时,可解读为“取地址”;当&出现在=左侧时,应关联引用,不能直接解读为“取地址”。

我的验证

  • 指针中的&:

    int a = 1;
    int *p = &a;
    

    指针变量p的值是变量a的地址,即p是指向a的指针。

  • 引用中的&:

    int a = 1;
    int & b = a;
    

    b是a的引用,即引用变量b的地址与变量a的地址相同。但若直接将代码解读为“引用变量b的地址是变量a的地址”,则代码应写成:

    int a = 1;
    int & b = &a;
    

    而这不符合C++语法,报错信息为:

    error: cannot bind rvalue '(int)(& a)' to 'int&'
    

感谢各位的回复!


内容的提问来源于stack exchange,提问作者Ross Li

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 21:18:16