gpt4 book ai didi

c++ - C++ 中 'cout<
转载 作者:太空宇宙 更新时间:2023-11-03 10:27:01 27 4
gpt4 key购买 nike

我想知道 cout<<cout 之间的实际区别和 cout<<&coutc++ ?在我的编译器中 cout<<cout返回 0x477864 & cout<<&cout返回 0x477860在任何时候。它表明它们之间有1个数字的差异。这些有什么意义?

最佳答案

当你这样做时:

cout << cout;

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

当你这样做时:

cout << &cout;

也就是得到cout的实际地址.

请注意,在 C++11 及更高版本中,第一个 cout << cout; , 将不再编译,因为隐式转换为 void*不复存在。相反,有一个显式转换为 bool服务于相同的目的。

关于c++ - C++ 中 'cout<<cout' 和 'cout<<&cout' 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30461947/

27 4 0

Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com