它对类的影响与对结构的影响完全相同,影响数据成员的对齐.
实际上在课堂上使用它是非常不寻常的,几乎总是一个错误.C++类对象的布局是严格实现定义的.C++编译器通常会努力优化该布局,尽可能删除v表指针.当类使用多重继承时可能会添加一个.因此,对类声明进行微小更改,例如使方法成为虚拟或添加基类可以显着改变对象布局.这当然会破坏依赖于该pragma的代码.就像序列化为二进制文件的对象不再正确反序列化一样.总的来说,这也是一种不好的做法,但无论如何都会发生.不要使用它.
| 归档时间: |
|
| 查看次数: |
3035 次 |
| 最近记录: |