如果一个类is_standard_layout ,是否足以保证给定的非静态数据成员始终与对象的地址具有相同的偏移量(即在该类的不同实例中,进程范围内相同)?
最佳答案
这实际上必须适用于任何类型的对象(在程序中)。访问子对象是通过偏移量发生的,这些偏移量在编译时已知并且在机器代码中是常量。对于 SL 类型,您可以通过 offsetof
验证这一点 - 这保证适用于标准布局类型并且基本上意味着统一的偏移量。
关于c++ - standard_layout 类的数据成员是否与对象的地址有固定的偏移量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33563134/