gpt4 book ai didi

c++ - operator << - 如何检测最后一个参数

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:48:57 26 4
gpt4 key购买 nike

我正在用 C++ 编写一个日志类。这个类是一个单例。我想以这种方式添加日志:

Log::GetInstance() << "Error: " << err_code << ", in class foo";

好的,在一个 Log 对象中,我想在最后一个参数出现时保存整行(本例中为“在类 foo”中)。

如何检测最后一个<<参数? << a << b << is_this_last << maybe_this_is << or_not.

我不使用任何结束标签。

最佳答案

你可以通过不使用单例来解决这个问题。如果您创建这样的函数:

Log log()
{
return Log();
}

您几乎可以像以前一样添加日志:

log() << "Error: " << err_code << ", in class foo";

不同之处在于 Log 对象的析构函数在此行之后被调用。所以现在您有办法检测最后一个参数何时被处理。

关于c++ - operator << - 如何检测最后一个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3497181/

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