结构体、元组和元组结构体的内存布局是什么?

9
从参考手册可以清楚地看出,当未使用repr属性时,struct的内存布局是未指定的。这个规则使编译器有可能通过重新排列字段来更紧密地打包结构体。
那么元组和元组结构体的内存布局又是如何(不)指定的呢?为什么会这样?
1个回答

6

元组和元组结构体的内存布局是未定义的,与普通结构体的布局相同,只有一种例外情况:

这个例外是单元元组 (()),它保证作为零大小类型具有大小为0和对齐为1。

编译器可以在元组和元组结构体中进行与结构体相同的优化,只需重新排序匹配即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接