#include <iostream>
#include <typeinfo>
#include <ctime>
using namespace std;
template<typename T> void checkTypeWithTemplate(T var) {
std::cout << "类型是: " << typeid(var).name() << std::endl;
}
int main() {
int a = 10;
double b = 3.14;
std::string c = "hello";
char d = 65;
int *p=&a;
// 使用模板方法
//注意name()返回的字符串格式是编译器相关的,不同编译器可能返回不同的字符串表示
checkTypeWithTemplate(a); //类型是: i
checkTypeWithTemplate(b);//类型是: d
checkTypeWithTemplate(c);//类型是: Ss
checkTypeWithTemplate(d);//类型是: c
checkTypeWithTemplate(p);//类型是: Pi
// 基于当前系统的当前日期/时间
time_t now = time(0);
checkTypeWithTemplate(now);//类型是: x
return 0;
}