我有一个Player
结构,其中包含指向其最近邻居的指针列表。结构在C ++中可能如下所示:
struct Player {
string handle;
vector<Player*> neighbors;
};
我想使用protobuf来序列化这个类的实例。如何编写消息定义来表示上述结构?
答案 0 :(得分:1)
我认为这样可以解决问题:
message Player
{
required string handle = 1;
repeated Player neighbors = 2;
}
我用protobuf-c编译了这个定义,它似乎正在起作用。
答案 1 :(得分:1)
protobuf中没有“参考”的概念。
因此,采取这种方式的最佳方法是:
message Player { required string handle = 1; repeated string neighborHandles = 2; };
通常,在完成反序列化后,您会将它们转换为C ++引用。