gpt4 book ai didi

c++ - 对象 cout 如何打印多个参数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:18:29 31 4
gpt4 key购买 nike

printf() 函数不同,它没有编译器猜测编号的格式说明符。的论据。那么在 cout 的情况下会发生什么?

最佳答案

IOStreams 一次只接收一个参数,所以它工作得很好。 :)

运算符重载的魔力在于:

std::cout << a << b << c;

实际上是这样的:

std::operator<<(std::operator<<(std::operator<<(std::cout, a), b), c);

或者这个:

std::cout.operator<<(a).operator<<(b).operator<<(c);

(根据abc的类型,将调用a free functiona member function .)

并且每个单独的调用都是针对接受您提供的类型的重载。不需要参数计数或格式字符串,因为它们与您对 printf单个调用一样。

关于c++ - 对象 cout 如何打印多个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30717258/

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