用户登录
用户注册

分享至

protobuf ssdb

  • 作者: 薯片可乐
  • 来源: 51数据库
  • 2020-09-22
Protobuf中RepeatedPtrField不能直接放在vector容器中
比如下面的用法是错误的,原因是push_back的时候会调用 operator =,
而在protobuf2.3中, operator = 在RepeatedPtrField中是private的。



  protobuf repeated的数据类型和c++的vector,list类似,只能传输相同的数据类型。 当然,如果你为了传输多种数据类型,可以使用类似与c++union的方式,用个大消息,消息的每个字段都使用optional标记,你在业务处理的时候,每次只对一个字段赋值同样可以达到目的。
另外: repeated只能表示数据有还是没有,在没有的时候,究竟是保留原有的数据不动,还是删除所有数据,这点有歧义。需要使用另外的字段进行处理。
软件
前端设计
程序设计
Java相关