当前位置:  开发笔记 > 编程语言 > 正文

C++中的类布局:为什么有时会订购成员?

如何解决《C++中的类布局:为什么有时会订购成员?》经验,为你挑选了1个好方法。

C++标准规定单个访问部分中的成员变量必须按照它们声明的顺序在内存中进行布局.同时,编译器可以自由选择访问部分本身的相互排序.这种自由使理论上不可能链接由不同编译器创建的二进制文件.那么严格的剖面订购的剩余原因是什么?并执行即将到来的C++ 09新的C++ 11个标准提供了一种完全确定对象布局"手"?



1> 小智..:

这种自由使理论上不可能链接由不同编译器创建的二进制文件.

由于多种原因,这是不可能的,结构布局是最小的.虚函数表的实现operator newdelete数据类型的大小...

那么严格的剖面订购的剩余原因是什么?

我认为C兼容性,因此在C包中定义的结构与在C++中为给定的编译器集一样.

新的C++ 09 11标准是否提供了一种"手动"完全确定对象布局的方法?

不,不超过现行标准.

但是,对于一个classstruct没有vtable和完全私有(或公共)字段,如果你使用这些[u]int[8|16|32|64]_t类型,它已经成为可能.你有什么用例比这更多?

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有