测试数据是否属于C ++中的某种数据类型?

时间:2013-01-08 01:43:03

标签: c++ types runtime

datatype *x;//where datatype is a class defined earlier;
//...

if (isDataType(x[0]))//test whether x[0] belong to datatype defined.

//do something

是否有任何C ++功能可以像上面那样做?

2 个答案:

答案 0 :(得分:6)

使用std::is_same

#include <type_traits>

if ( std::is_same<datatype, decltype(x[0])>::value ) {

}

答案 1 :(得分:1)

bool isDataType(const datatype&) { return true; }

template<typename T> bool isDataType(const T&) { return false; }

可能不是你真正想要的......