将两个google :: protobuf :: Message对象相互比较的最简单方法是什么?

aby*_*s.7 21 c++ comparison protocol-buffers

我想比较两个任意google::protobuf::Message对象.

我认为对象是相同的

  • 它们的描述包含具有相等字段编号和相应字段类型的字段.
  • 它们的反射具有相同的字段集(以及相同数量的重复字段)和相等的相应字段值.

我知道,我可以自己编写这样的比较函数,但可能已经有一些简单或预定义的解决方案了吗?

此外,我可能会遗漏一些关于这些对象无法比较的主要问题 - 我想知道是否是这样.

小智 9

来自https://groups.google.com/d/msg/protobuf/5sOExQkB2eQ/ZSBNZI0K54YJ:

在C++中,您可以序列化两者并比较字节.或者,您可以编写一些代码,通过反射迭代字段并比较它们.