Как сделать поле карты общим для нескольких сообщений в коде protobuf, созданном на C++?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как сделать поле карты общим для нескольких сообщений в коде protobuf, созданном на C++?

Сообщение Anonymous »

У меня есть несколько нижестоящих клиентов, использующих одно поле карты. Поле карты имеет большой размер и может привести к дополнительным проблемам с производительностью при непреднамеренном копировании.

Код: Выделить всё

message ToClientAReq {
...
map my_map = N1;
}

message ToClientBReq {
...
map my_map = N2;
}

Однако сгенерированный код приводит к тому, что каждое сообщение владеет своим полем карты. Поэтому мне приходится копировать карту несколько раз при назначении каждому объекту запроса, хотя они всегда идентичны.
Как оправдать мой .proto-файл или мой генератор кода, чтобы включить совместное использование полей карты ?

Подробнее здесь: https://stackoverflow.com/questions/792 ... de-generat
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»