我的原型中的重复字段中有一些条目。现在我想删除其中一些。我怎样才能做到这一点?有一个删除最后一个元素的函数,但我想删除任意元素。我不能只是交换它们,因为顺序很重要。
我可以与 next 交换直到结束,但是没有更好的解决方案吗?
对于 Protobuf v3
iterator RepeatedField::erase(const_iterator position) https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.repeated_field#RepeatedField.erase.details可以在任意位置删除。
对于 Protobuf v2
您可以使用DeleteSubrange(int start, int num) https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.repeated_field#RepeatedPtrField.DeleteSubrange.details in RepeatedPtrField
class.
如果你想删除单个元素,那么你必须调用这个方法DeleteSubrange(index_to_be_del, 1)
。它将删除该索引处的元素。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)