如何解决是否可以通过一个流读取调用来初始化多个数据成员?
我正在为类序列化实现工作,现在我想知道是否可以将二进制缓冲区从打开的序列化文件流式传输到类中的内存地址,并保存计算大小并完成整个数据成员块,以及我绝对需要数据成员地址是连续的(端到端)。我在这个问题中看到了关于类内存布局的答案memory layout C++ objects
它说具有相同访问控制(第 11 条)的(非联合)类的非静态数据成员被分配,以便后面的成员在类对象中具有更高的地址。但没有指定它们是否是连续的。
数据成员之间的类内的填充是否也依赖于编译器?如果是这样,指定某个填充大小是否是实现此目的的好习惯?
毕竟像这样进行内存初始化是一个好方法吗?由于一个类中可能有这么多数据成员,因此减少流读取调用的次数是否好?
注意:我可以拆分指针、字符串、stls 并记录它们的大小,你可以认为这个问题只讨论基本类型。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。