Подтвердить что ты не робот

Каков самый простой способ сравнить два объекта google:: protobuf:: Message друг с другом?

Я хочу сравнить два произвольных объекта google::protobuf::Message.

Я предполагаю, что объекты равны, если

  • их описания содержат поля с одинаковыми номерами полей и соответствующими типами полей.
  • их отражения имеют одинаковый набор полей (и столько же повторяющихся полей) и равны соответствующим значениям полей.

Я знаю, что я могу написать такую ​​функцию сравнения самостоятельно, но может быть, есть уже какое-то простое или предопределенное решение?

Кроме того, может быть, мне не хватает какой-то принципиальной проблемы в отношении несравнимости таких объектов - я хотел бы знать, если это так.

4b9b3361

Ответ 1

Из https://groups.google.com/d/msg/protobuf/5sOExQkB2eQ/ZSBNZI0K54YJ:

В С++ вы можете сериализовать два и сравнить байты. Кроме того, вы можете написать код, который итерации по полям через отражение и сравнивает их.