我在考虑在cpp中实现类似于“<<”的三元put运算符:
mystream <<< param2 param3;
这可能吗?它已经存在了吗?一句话:我记得见过这个:
out <<STDERR param
这不是三元运营商吗?
答案 0 :(得分:2)
要将C ++输出发送到stderr流,请使用cerr << var1 << var2
或clog << 1 << 2
。
C ++中只有一个三元运算符?:
,它不能重载。
<<<
是我见过的所有语言的二元运算符。 C ++没有它;这样的字符序列将被解析为<< <
这是无稽之谈,因为它们都不能用作一元运算符。
最后,第二个和第三个“操作数”只用空格分隔。 C ++没有语法产生,包括expression expression
;这将导致严重的模棱两可。
cerr << var1 << var2
中的链接行为是通过表单
std::ostream & operator << ( std::ostream &, my_class const & );
ostream &
返回类型允许将第一个调用cerr << var1
的结果用作<< var2
的左侧操作数。
答案 1 :(得分:1)
不,你不能组成新的运营商。您只能使用现有的,<<<
不在其中。
out <<STDERR param
这可能意味着什么,都可以是宏或文字。