C++问题求解答

int a = 10;
cout<<&a<<endl;   // 012FFE30(一个正常的地址)
voliate int b = 10;
cout<<&b<<endl;   //  输出为 1
网上也查了相关资料,但是一直没搞清为啥 变量b的地址变成 1了,好像voliate 也没有这个作用啊,有哪位大佬指导一下吗?
全部评论
mark
点赞 回复 分享
发布于 2020-08-02 16:03
warning: address of 'b&(1071)#39; will always evaluate to 'true&#39; [-Wpointer-bool-conversion]  -Wpointer-bool-conversion warnings trigger when a pointer which the compiler knows cannot be null is converted to a bool
点赞 回复 分享
发布于 2020-08-02 16:22
https://ac.nowcoder.com/discuss/365983?type=6&order=1&pos=26&page=1&channel=-2&source_id=discuss_tag
点赞 回复 分享
发布于 2020-08-02 16:27
是因为cout<<没有重载& volitate
点赞 回复 分享
发布于 2020-08-02 16:38
这个1是bool变量true,另外学着用google。。。国内资源太少了 给你个链接 https://stackoverflow.com/questions/8239262/why-is-the-address-of-this-volatile-variable-always-at-1
点赞 回复 分享
发布于 2020-08-02 19:31
谢谢各位
点赞 回复 分享
发布于 2020-08-03 08:44

相关推荐

AI牛可乐:哇,听起来你遇到了什么挑战呢!🐮牛可乐在这里,虽然小,但是勇敢又聪明,想听听你的具体情况哦!如果你愿意的话,可以点击我的头像给我私信,我们可以一起想办法应对挑战,好不好呀?🌟🎉
点赞 评论 收藏
分享
牛客737698141号:他们可以看到在线简历的。。。估计不合适直接就拒了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务