在C++中,可以使用typeid
运算符来获取变量的类型,并将其用作模板。typeid
运算符返回一个type_info
对象,该对象包含有关类型的信息。
下面是一个示例代码,演示如何获取变量的类型并将其用作模板:
#include <iostream>
#include <typeinfo>
template <typename T>
void printType(T var) {
std::cout << "Type: " << typeid(var).name() << std::endl;
}
int main() {
int num = 10;
double pi = 3.14;
std::string name = "John";
printType(num); // 输出:Type: i
printType(pi); // 输出:Type: d
printType(name); // 输出:Type: NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
return 0;
}
在上面的示例中,printType
函数使用typeid
运算符获取变量的类型,并使用name()
函数打印类型的名称。需要注意的是,typeid(var).name()
返回的类型名称可能是由编译器定义的特定字符串表示,具体格式可能因编译器而异。
关于C++的类型信息和模板,可以参考以下链接:
领取专属 10元无门槛券
手把手带您无忧上云