c++ - 我能保证所有指针都具有相同的字节大小吗?

标签 c++ c pointers architecture sizeof

<分区>

在 C 和 C++ 中,我是否可以保证所有指针都具有相同的字节大小,或者换句话说:

sizeof(void*) = sizeof(char*) = sizeof(int*) = ...

或者有一些不正确的系统?

最佳答案

没有。标准中没有保证。

有一些异常(exception)是一些系统。尽管它在许多典型系统中是固定的并且取决于该系统的体系结构。例如在 32 位系统中指针是 4 个字节。

顺便说一句,uintptr_t 可以保存指针(也许我们可以假设它具有当前系统中指针的最大大小):

uintptr_t unsigned integer type capable of holding a pointer

关于c++ - 我能保证所有指针都具有相同的字节大小吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16481944/

相关文章:

python 2 - 为什么 'with' 在嵌入式 c 代码中的行为不同?

c++ - 我如何使用带有标准 C 代码的 arduino 库

c++ - 指向虚函数的指针

c++ - 如何在文本突出显示期间保留语法突出显示

c++ - 如何在 C++ 或一般代码中记住或存储函数(以及所有其他内容)?

c++ - GDB 缺少单独的调试信息

c - C中函数内部函数的参数和指针

c - 为什么这段代码无法执行呢?

c++ - 我什么时候不能内联函数?

c - 数组存储在内存中的什么位置?