读书人

cout多个变量的时分等效于调了一次还

发布时间: 2013-12-10 15:05:55 作者: rapoo

cout多个变量的时候,等效于调了一次还是多次printf?
例如cout<<123<<5.6<<"abc"<<endl;这句话,对于iostream的实现者而言,是相当于构造了一个格式化字符串把123,5.6,"abc"一起输出呢? 还是相当于调用了printf之类的函数3次,每次输出一个变量?

前一种的效率应该比较高吧。我没有研究过GCC或者VC的iostream源代码。知道的大虾给点意见哈。

多谢。
[解决办法]
并不是构造一个格式化的字符串,cout是一个对象,<<是这个对象的操作符,cout<<123后又返回一个iostream对象,所以可以继续使用<<,其他类似。
[解决办法]
楼上正解。cout也是一个对象而已!

[解决办法]
http://www.researchgate.net/post/Whats_the_difference_between_the_printf_and_cout_statements
[解决办法]
一次或多次,真有效率问题么?

读书人网 >C++

热点推荐