我有模板类
template <typename T>
class BST {
public:
Node<T>* root;
...
我想根据T类型修改插入函数的行为。
我找的是像
这样的东西if(T instanceof Pair){
}
答案 0 :(得分:2)
您可以添加BST
的{{1}}专精,并相应地创建Pair
函数:
insert
答案 1 :(得分:1)
您可以使用std::is_same
:
if (std::is_same<T, Pair>::value)
答案 2 :(得分:0)
您可以在typeinfo标头中使用“typeid”函数在C ++中实现此功能。
template<class T>
T fun(T a)
{
if(typeid(T) == typeid(int))
{
//Do something
}
else if(typeid(T) == typeid(float))
{
//Do Something else
}
}