0
我想知道是否可以使用帶有Google協議緩衝區的地圖。 我現在有這樣的事情在我的.proto文件使用Google協議緩衝區的std :: map <int,std :: string>
message MsgA
{
required string symbol = 1 ;
optional int32 freq = 2 [default = 0];
}
message MsgB
{
//What should I do to make a map<int,MsgA>
}
我的問題是在MSGB我想創建一個類型,這將是一個地圖:: 上我怎麼能做到這一點的任何建議?
感謝您的回覆。我正在考慮用矢量替換地圖。爲此,我將使用重複字段。我相信它會像一個矢量。你能告訴我如何將項目添加到C++中的重複字段 – MistyD
@MistyD:使用MapEntry&newMapEntry = myMsgB.add_mapentry();'。然後填寫'newMapEntry'中的字段,該字段現在是對消息b中新添加的映射條目的引用。 –
我正在通過https://developers.google.com/protocol-buffers/docs/cpptutorial查看。它不是假設是'MapEntry * newMapEntry = myMsgB.add_mapentry();'?一個指針而不是參考? – MistyD