在C++中,__TIME__
是一个预定义的宏,它表示当前编译时的时间。由于它是在编译时展开的,所以每次编译时它的值都会不同。如果需要在不同的文件中调用时得到相同的值,可以使用宏定义来解决。
下面是一个示例代码:
// header.h
#ifndef HEADER_H
#define HEADER_H
#define CURRENT_TIME __TIME__
#endif
// main.cpp
#include
#include "header.h"
int main() {
std::cout << "Current time: " << CURRENT_TIME << std::endl;
return 0;
}
// other.cpp
#include
#include "header.h"
void printTime() {
std::cout << "Current time: " << CURRENT_TIME << std::endl;
}
在这个示例中,我们在header.h
文件中定义了一个宏CURRENT_TIME
,它的值就是__TIME__
的值。然后,在main.cpp
和other.cpp
中分别包含了header.h
头文件,并分别输出了CURRENT_TIME
的值。
由于CURRENT_TIME
是在预编译阶段展开的,所以在不同的文件中调用时,它的值将会是相同的。