加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 为什么我可以获取字符串文字的地址,而不是整数文字的地址?

发布时间:2020-12-16 09:40:16 所属栏目:百科 来源:网络整理
导读:我只是偶然发现了以下代码行 cout "Blahh" endl; 编译器不会给出错误,并且在控制台上显示地址.它正常工作没有任何问题.如果我用int替换“Blahh”,那么 cout 10 endl; 代码不会编译.简而言之:字符串文字可以工作,但不是整数文字. 是什么原因导致cout “Blahh
我只是偶然发现了以下代码行

cout << &"Blahh" << endl;

编译器不会给出错误,并且在控制台上显示地址.它正常工作没有任何问题.如果我用int替换“Blahh”,那么

cout << &10 << endl;

代码不会编译.简而言之:字符串文字可以工作,但不是整数文字.

是什么原因导致cout<< &“Blahh”<< ENDL;作品和cout<< & 10<< ENDL;不?

解决方法

因为“Blahh”在内存中有一个地址(它是一个l值). 10不是(它是一个r值).

http://en.wikipedia.org/wiki/Value_%28computer_science%29

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读