社区
C++ 语言
帖子详情
这两个地址分别是什么?
mochen5460
2007-01-16 10:56:52
string robin("Christopher robin");
const char *pc=robin.c_str();
//习题要求打印pc的地址,答案用的是第二种,而我觉得是第一种。
cout<<&pc<<endl;
cout<<static_cast<void*>(const_cast<char*>(pc))<<endl;
看了C++ Primer相关章节,感觉还不是很明白,第一种不就是取的pc本身的地址吗?哪位高人解释一下啊?
...全文
169
3
打赏
收藏
这两个地址分别是什么?
string robin("Christopher robin"); const char *pc=robin.c_str(); //习题要求打印pc的地址,答案用的是第二种,而我觉得是第一种。 cout<<&pc<<endl; cout<<static_cast(const_cast(pc))<<endl; 看了C++ Primer相关章节,感觉还不是很明白,第一种不就是取的pc本身的地址吗?哪位高人解释一下啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
genius_hb
2007-01-17
打赏
举报
回复
第二种是输出指针的值,而不是指针的地址
晨星
2007-01-16
打赏
举报
回复
哦,说错了,应该是第一种对。
如果是打印“pc的值”,即它所指向的字符串的首地址,那么应该用第二种。
可能出题人考虑得没那么严密的,他看到pc是个指针变量,于是就直接说“pc的地址”,其实他想说的应该是“pc所保存的那个地址”。
晨星
2007-01-16
打赏
举报
回复
我觉得都对。
原因是,“&p”的类型是const char** p,而标准库中的operator<<没有特别的针对const char**的重载或特化。所以,最终的结果必然是通过标准转换,调用到basic_ostream::operator<<(const void* p);
零基础一小时极简以太坊智能合约开发环境搭建并开发部署
围绕这
两个
问题,本教程分为四个部分:以太坊是什么,以太坊钱包MetaMask,Solidity及其开发环境Remix介绍,开发一个极简智能合约并部署到公网上的测试网络运行。本教程的极简方案安装步骤很少,智能合约例子代码量...
CCNA_CCNP 思科网络认证 PAT NAT 端口或
地址
转换 与端
小方向:同单位实现
两个
网段之间单向访问(涉密部门能够访问其他部门,反之不可) 增加一个网段 避免在主干路由器增加到这个网段的...
区块链之实战VM虚拟机开发
也正因为上面
两个
特性,EOS主网刚上线时,出现了大量RAM资源被囤积,RAM价格被瞬间拉至高位,又在随后的一周内快速下降,造成了“割开发者韭菜”的情况。V神在2018年曾提出过使用【状态租金】来解决状态爆炸问题。...
【深入理解计算机网络】入门计算机网络基础视频课程(上)
这
两个
课程主要内容包括计算机网络的发展历程、计算机网络组成、各种计算机网络拓扑结构、计算机网络体系结构、网络通信原理、以太网规范、IPv4
地址
及子网划分与聚合、IPv6
地址
分类等内容,并例举了上百道各种考试的...
【深入理解计算机网络】入门计算机网络基础视频课程(下)
这
两个
课程主要内容包括计算机网络的发展历程、计算机网络组成、各种计算机网络拓扑结构、计算机网络体系结构、网络通信原理、以太网规范、IPv4
地址
及子网划分与聚合、IPv6
地址
分类等内容,并例举了上百道各种考试的...
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章