我知道结构的大小和对齐方式并不总是相同,但是对整数类型的大小和对齐有什么保证吗?例如,int的大小和对齐是否始终相同或者它们可能不同?
int
为了证明我的问题,这个断言会不会失败?
int main() { assert(_Alignof(int) == sizeof(int)); }
整数类型的对齐和大小可以不同。例如在GCC x86 32-bit上:
_Alignof(long long) == 4 sizeof(long long) == 8