首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cout<<cout和cout<<&cout在c++中的区别?

Cout<<cout和cout<<&cout在c++中的区别?
EN

Stack Overflow用户
提问于 2015-05-26 14:49:52
回答 1查看 107关注 0票数 1

我想知道cout<<coutcout<<&coutc++中的实际区别吗?在我的编译器中,cout<<cout返回0x477864 & cout<<&cout返回在任何time.It上的0x477860,显示它在them.What之间有1位数的差异,这些都有意义吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-26 14:59:31

当你这样做时:

代码语言:javascript
复制
cout << cout;

您依赖于流的隐式转换到void*。此值用于测试流的状态(pre++11)。未指定值的实际值,如果流处于失败状态,则只需要为NULL,否则为非NULL。也许它是返回对象成员的地址,但是它并不是很重要,而且实现是定义的。

当你这样做时:

代码语言:javascript
复制
cout << &cout;

即获取cout的实际地址。

请注意,在C++11和更高版本中,第一个cout << cout;将不再编译,因为向void*的隐式转换不再存在。相反,有一个向bool的显式转换,以满足同样的目的。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30461947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档