在 C++ 中,您如何以编程方式检测以下形式的序列的结尾:
object << argument1 << argument2 << argument3;
假设我像这样重载了 operator<<
Object& operator<<(Object& object, Argument& argument) {
...
}
上面的表达式将被计算如下:
(((object << argument1) << argument2) << argument3);
为了论证的缘故,我们假设 object 是一个记录器。我将数据流式传输到记录器中。一旦最后一个参数(在这种情况下为argument3,但参数的数量当然不是固定的)已流入对象,我希望对象组装消息并发布它。我怎样才能做到这一点而不必写这样的东西:
object << argument1 << argument2 << argument3 << EOM;
谢谢你。欢迎任何输入。