在C++中,安全和可移植的编程实践,确实需要对类对象的结构和布局保持某种程度的“健康的不知情”.对于一个类而言,并非总是“所见即所得”。
编译器会在类中放东西,而且不同平台的编译器之间的实现并不一致。比如虚指针的位置,可能在对象的头部,也有可能在尾部。 不要对类的内部结构做假定!!!
我们得到的启示就是,应该在高层操纵类对象,而不应该把它当成一组位的集合。在不同的平台上,高层的操作将会做相同的事情,但它们的底层实现可能并不相同。
C++类对象布局与安全编程
本文探讨了C++中类对象的内部布局及编译器实现差异性,强调了安全、可移植编程的重要性。指出不应直接依赖于类的具体布局细节进行编程。
在C++中,安全和可移植的编程实践,确实需要对类对象的结构和布局保持某种程度的“健康的不知情”.对于一个类而言,并非总是“所见即所得”。
我们得到的启示就是,应该在高层操纵类对象,而不应该把它当成一组位的集合。在不同的平台上,高层的操作将会做相同的事情,但它们的底层实现可能并不相同。

被折叠的 条评论
为什么被折叠?