3

我有一个Player结构,其中包含指向其最近邻居的指针列表。该结构在 C++ 中可能如下所示:

struct Player {
  string handle;
  vector<Player*> neighbors;
};

我想使用 protobuf 来序列化这个类的实例。我将如何编写消息定义来表示上述结构?

4

2 回答 2

2

我认为这可以解决问题:

message Player
{
  required string handle = 1;

  repeated Player neighbors = 2;
}

我用 protobuf-c 编译了定义,它似乎正在工作。

于 2013-07-04T14:35:34.770 回答
2

protobuf 中没有“引用”的概念。

因此,最明智的做法是:

消息播放器{
  所需的字符串句柄 = 1;
  重复字符串neighborHandles = 2;
};

通常,当您完成反序列化后,您会将它们转换为 C++ 引用。

于 2013-07-05T12:26:33.450 回答