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

use*_*128 -3 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
Run Code Online (Sandbox Code Playgroud)

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

0x4*_*2D2 6

用途std::is_same:

#include <type_traits>

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

}
Run Code Online (Sandbox Code Playgroud)

  • 这不总是"真实"吗?如果`X`是指向`datatype`的指针,则`X [0]`是`datatype`.因此,它应该归结为`std :: is_same <datatype,datatype> :: value`,不是吗? (2认同)
  • 你的意思是`std :: is_same <datatype,decltype(x [0])> :: value`? (2认同)