C++:为什么__TIME__显示的时间比执行ctime(&time(NULL))早?

我在 C++ 中有以下代码:

#include <iostream>
#include <ctime>
int main()
{
    time_t t = time(NULL);
    cout << ctime(&t) << __TIME__;
    return 0;
}

我得到的输出是这样的:

Tue Jul 27 19:04:33 2021
19:04:31

事实上,我所有的运行都表明 by 显示的时间__TIME__比 by 早 2-3 秒ctime(&t),即使它是晚打印的。有人可以解释为什么会发生这种情况吗?

回答

__TIME__ 是一个预处理器宏,在编译代码时会被当前时间替换。

time()fromctime返回执行程序时的当前时间。

您会注意到,当您再次运行同一个程序(不重新编译)时,时间__TIME__不会改变。


以上是C++:为什么__TIME__显示的时间比执行ctime(&amp;time(NULL))早?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>