我想知道是否保证在32位和64位系统sizeof(int)中总是等于sizeof(void*)(即分别为32位和64位).
另外,我需要知道是否始终保证a long int可以容纳a int和a 的位void*,例如
long int lint = (((int)integer)<<sizeof(int)) | (void*)ptr;
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以保证在32位和64位系统
sizeof(int)中总是等于sizeof(void*)
没有.
我需要知道它是始终保证一个
long int可容纳的位int和void*在一起
不是.快速证明是sizeof(long int) == sizeof(int)在许多现代平台上考虑,可能包括你正在使用的平台.
更重要的问题是为什么你认为你"需要知道"这个; 你问这些问题的事实让我担心你的代码很可能......摇摆不定.
| 归档时间: |
|
| 查看次数: |
546 次 |
| 最近记录: |