protobuf repeated 怎么用的
答案:2 悬赏:40 手机版
解决时间 2021-03-20 13:33
- 提问者网友:焚苦与心
- 2021-03-19 18:37
protobuf repeated 怎么用的
最佳答案
- 五星知识达人网友:酒者煙囻
- 2021-03-19 18:53
Protobuf中RepeatedPtrField不能直接放在vector容器中
比如下面的用法是错误的,原因是push_back的时候会调用 operator =,
而在protobuf2.3中, operator = 在RepeatedPtrField中是private的。
比如下面的用法是错误的,原因是push_back的时候会调用 operator =,
而在protobuf2.3中, operator = 在RepeatedPtrField中是private的。
全部回答
- 1楼网友:琴狂剑也妄
- 2021-03-19 19:20
protobuf repeated的数据类型和c++的vector,list类似,只能传输相同的数据类型。 当然,如果你为了传输多种数据类型,可以使用类似与c++union的方式,用个大消息,消息的每个字段都使用optional标记,你在业务处理的时候,每次只对一个字段赋值同样可以达到目的。
另外: repeated只能表示数据有还是没有,在没有的时候,究竟是保留原有的数据不动,还是删除所有数据,这点有歧义。需要使用另外的字段进行处理。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯