6

从参考手册中可以清楚地看出,s的内存布局struct是未指定的(当repr不使用该属性时)。此规则使编译器可以通过重新排序字段来更紧密地打包结构。

元组和元组结构的内存布局如何?它是如何(未)指定的,为什么?

4

1 回答 1

3

元组和元组结构的内存布局是未定义的,就像普通结构的布局一样,但有一个例外:

例外情况是单元元组 ( ()),它被保证为大小为零的类型,大小为 0,对齐方式为 1。

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

于 2014-09-10T22:11:33.620 回答