gpt4 book ai didi

c++ - 每次调用 std::cout 时打印时间

转载 作者:太空狗 更新时间:2023-10-29 19:50:05 25 4
gpt4 key购买 nike

有人会怎么做?例如我喜欢:

std::cout << "something";

然后它应该在“something”之前打印时间

最佳答案

为此创建您自己的流 :) 这应该可行:

class TimedStream {
public:
template<typename T>
TimedStream& operator<<(const T& t) {
std::cout << getSomeFormattedTimeAsString() << t << std::endl;
return *this;
}
};

TimedStream timed_cout;

void func() {
timed_cout << "123";
}

您可以将此类用于可以完成 std::cout << obj 的每种类型,因此无需进一步的工作。

但请注意,时间将写在每个 << 之前,因此您不能轻易地将它们链接起来。另一种具有显式时间戳的解决方案是:

class TimestampDummy {} timestamp;

ostream& operator<<(ostream& o, TimestampDummy& t) {
o << yourFancyFormattedTimestamp();
}

void func() {
cout << timestamp << "123 " << 456 << endl;
}

关于c++ - 每次调用 std::cout 时打印时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4187184/

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