C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – std :: cout是否具有返回值?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如果std :: cout有一个返回值,我很好奇,因为当我这样做:
cout << cout << "";

打印一些六代码.这个印刷价值的意思是什么?

解决方法

因为cout的操作数< cout是用户定义的类型,表达式实际上是一个@L_874_5@调用.编译器必须找到最佳运算符<<这与操作数相匹配,在这种情况下,它们都是类型std :: ostream. 有许多候选运算符重载可供选择,但是我将根据通常的重载解析过程描述最终被选中的那个. std :: ostream有一个转换操作符,允许转换为void *.这用于使流测试状态为布尔状态(即允许if(cout)工作). 使用该转换运算符将右侧的操作数表达式cout隐式转换为void const *,然后运算符<<需要ostream&并调用一个void const *来写入此指针值. 请注意,ostream到void *转换产生的实际值是未指定的.该规范仅强制如果流处于不良状态,则返回空指针,否则返回非空指针. 操作者<流插入的重载确实具有返回值:它们返回作为操作数提供的流.这是允许链接插入操作(以及对于输入流,使用>>)的提取操作).

大佬总结

以上是大佬教程为你收集整理的c – std :: cout是否具有返回值?全部内容,希望文章能够帮你解决c – std :: cout是否具有返回值?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。