0

我了解数据结构对齐的理论并使用该理论来实现序列化。但是,我很难开始使用真正的代码。有人可以给我一个简单的例子来展示它是如何工作的吗?

比方说:

 Class A {
  private:
     int a;
     char b;
     double c;
     char d;
     char e;
   public:
     void serialize(char * str);
 };

如何实现序列化方法来存储对齐的数据A?我应该重新排序数据结构并填充它吗?或者...

4

1 回答 1

2

对齐和序列化是两个正交的方面。

前者涉及数据结构的内存表示,而后者涉及其以顺序形式的等效表示。换句话说,一旦数据结构被序列化为字节流,对齐就不再重要了。同样,当提到序列化字节流时,对齐的概念也没有意义。

也就是说,您应该分别解决每个问题,而不是试图找到一个联合解决方案。

于 2012-04-08T19:55:00.790 回答