我想定义一个类MyStream以便: MyStream myStream; myStream << 1 << 2 << 3 << std::endl << 5 << 6 << std::endl << 7 << 8 << std::endl; 给出输出 [blah]123 [blah]56 [blah]78 基本上,我想在前面插入一个“[blah]”,然后在每个非终止 std::endl之后插入? 这里的难点不是逻辑pipe理,而是检测和重载std::endl的处理。 有没有一个优雅的方式来做到这一点? 谢谢! 编辑:我不需要在逻辑pipe理的build议。 我需要知道如何检测/超载打印std::endl 。
当时,我正在听Andrei Alexandrescu关于D编程语言的谷歌演讲,当时他抛出了关于“endl”惨败的一行。 我只是认为endl是表示一行结束的首选方式,并为一个stream刷新缓冲区。 为什么它被认为是一场惨败? 我应该不是在我的代码中使用它?