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

如何在C++中创建引用变量?为何输出十六进制地址而非预期值

问题解析:引用变量输出十六进制地址的原因及解决办法

你看到的十六进制数值是变量的内存地址,问题出在代码里的&meal:这里的&是取地址运算符,并非定义引用时的符号,它会返回meal(也就是food)在内存中的存储地址,所以输出了类似0x6ffe20的值。

要输出引用变量对应的内容,直接写meal即可——因为meal是food的引用(别名),二者指向同一块内存,输出meal就等价于输出food的值。

修正后的代码如下:

#include <iostream>
using namespace std;
int main(){
     string food = "pizza";
     string &meal = food;
     cout << food << endl;
     cout << meal << endl; // 移除前面的&运算符
     cout << "The meal and food variable are same " << endl;
} 

运行后会得到预期输出:

pizza
pizza
The meal and food variable are same 

内容的提问来源于stack exchange,提问作者rustum erine

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 18:54:21