c++ - 按类型比较指针?

标签 c++ c pointers types

如何比较两个指针以确定它们是否属于同一类型?

说我有...

int * a;
char * b;

我想知道这两个指针的类型是否不同。

详细信息:

我正在研究一个查找表(实现为 2D void 指针数组)以存储指向各种类型结构的指针。我想使用一个插入函数来比较给定的指针类型与表第一行中存储的类型。如果它们匹配,我想在该列中添加指向表的指针。

基本上我希望能够将每个传入类型存储到它自己的列中。

enter image description here

欢迎使用其他方法来实现这一目标。

最佳答案

在这种情况下,由于您事先知道类型,因此检查没有多大意义。您可以继续了解它们是不同的类型。

但是,假设类型可能依赖于一些编译时属性,如模板参数,您可以使用 std::is_same :

std::is_same<decltype(a), decltype(b)>::value

如果它们是同一类型,则为 true,否则为 false

关于c++ - 按类型比较指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16072223/

相关文章:

c++ - 这段代码有什么用吗?

c++ - libjpeg/libjpeg-turbo RGBA/32位int解压缩

python - numpy 中的等效函数

c - 在 C 中用指针分配结构

c - *(&char_array) 在 C 中是什么意思?

c - 在字符串中查找动词

c# - 如何将 const unsigned char * 从 C++ 传递到 C#

C++使一个类充当特定的数据类型

c++ - 从指向指针数组的指针中删除字符串时在运行时出错

pointers - 为什么 Win32 API 系统调用中使用的缓冲区会转换为 [1<<20]<type> 数组?