【发布时间】:2016-03-01 23:45:22
【问题描述】:
是否存在与指针大小和对齐方式相同的整数类型?
有std::intptr_t 和std::uintptr_t,但我相信它们与指针本身的对齐方式不同。
【问题讨论】:
-
它有什么不同?无论如何,使用整数类型为指针起别名是未定义的行为。
-
@BenVoigt 我不这样做。相反,我在运行时计算数据结构布局,用于虚拟机实现,如果整数与指针具有相同的布局,则更容易。
-
但是,如果您在运行时进行结构布局,对齐应该不是问题:只需在任何需要对齐要求的地方添加显式填充字段就可以了。
-
您可能想使用
union。虽然这很少有用,但虚拟机是它们有意义的情况之一。
标签: c++ types memory-layout