如何比较两个指针以确定它们是否属于同一类型?
说我有...
int * a;
char * b;
我想知道这两个指针的类型是否不同。
详细信息:
我正在研究一个查找表(实现为 2D void 指针数组)以存储指向各种类型结构的指针。我想使用一个插入函数来比较给定的指针类型与表第一行中存储的类型。如果它们匹配,我想在该列中添加指向表的指针。
基本上我希望能够将每个传入类型存储到它自己的列中。
欢迎使用其他方法来实现这一目标。
最佳答案
在这种情况下,由于您事先知道类型,因此检查没有多大意义。您可以继续了解它们是不同的类型。
但是,假设类型可能依赖于一些编译时属性,如模板参数,您可以使用 std::is_same
:
std::is_same<decltype(a), decltype(b)>::value
如果它们是同一类型,则为 true
,否则为 false
。
关于c++ - 按类型比较指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16072223/