C ++ 11标准布局违规的影响

时间:2012-10-30 07:40:30

标签: c++ c++11 standard-layout

  

可能重复:
  Why can’t you use offsetof on non-POD strucutures in C++?

我有两个班级:

struct A{
  double one;
  float two;
};

struct B : public A{
  float three;
};

如果我正确地解释了C ++ 11标准布局限制,那么B不是标准的 布局,因为B和A都有非静态数据成员。我想用一个结构 像B和HDF5一样,它需要使用 offsetof 宏,据我所知,它仅限于标准布局对象。我的问题是,可能出现什么问题,使用像

这样的表达式
offsetof(B, three)

它适用于gcc-4.6,但有没有人遇到类似情况下的意外行为?如果是这样,哪一个和哪个编译器?什么是最糟糕的情况?

此致 克拉斯

0 个答案:

没有答案