有没有办法从下面的语句中减少<<
运算符链?
std::cout << var1 << "!=" << var2;
printf()
可能是一个选项,但还有其他什么?
因为运营商<<
的数量也增加了运行时间。
是否有可能有效地减少<<
链?
答案 0 :(得分:0)
不,这是不可能的。
根本原因是operator<<(const char*)
和operator<<(int)
都很简单。事实上,它们非常简单,很可能会被内联。
printf(const char* format, ...)
是一个非常复杂的函数,因为它需要处理许多可能的格式说明符,并且它还有一个需要解析的变量参数列表。
任何其他单一功能都会有如此复杂的缺点,无法内联。