关于RepeatedPtrField从何时开始支持erase

今天在使用repeated的时候,有一项需求,遍历的时候删除repeated数组里面的元素,查了下protobuf的文档,发现有个同STL中的迭代器一样的erase方法。就在自己的项目中使用了下。结果发现,我的protobuf中,没有erase这个方法。就猜想很可能是版本问题。谷歌了下,还真的是。     protobuf 2.6的版本中,...

protocol buffer报错之repeated类型越界

当对repeated的数组进行下标取值时,要特别注意防止越界问题。     越界时,protocol有记录错误描述。 what():  CHECK failed: (index) < (size()):      越界后,protocol库会抛出异常,如果没对...

protobuf的进阶技能之反射

之前我们介绍了protobuf的简单使用。现在,我们踏上进阶之路。     这里要用到的技术就是反射,当然,这个是protocol buffer自己提供的,无需我们去实现,我们要做到,只是使用。可能有同学会好奇,反射有什么作用呢?为什么它就是进阶的技能?     设想一个场景,你要将一个prot...

protobuf的简单使用

    接触protobuf是因为公司业务需要,从而又了解了Google给程序猿提供的又一杀器。 在上家公司,接口使用socket通讯,双方定义接口时,偶尔会因为一些字节序问题导致数据错乱。当时,我们是自己针对给定的接口,自己写的结构体,然后遇到变长字符串,就用char[1]这种数组结构支持字符串。这是种很原生的实现方式,需要在发送和接收的...