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__不会改变。
THE END
二维码