<分区>
在 C 和 C++ 中,我是否可以保证所有指针都具有相同的字节大小,或者换句话说:
sizeof(void*) = sizeof(char*) = sizeof(int*) = ...
或者有一些不正确的系统?
<分区>
在 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/