首页 > 动态 > 科技资讯 >

💻Protobuf Repeated类型与Vector转换📚

发布时间:2025-03-28 23:23:46来源:

小伙伴们,今天我们来聊聊Protobuf中的`repeated`类型!✨ `Repeated` 类似于C++中的vector或Java中的ArrayList,用来存储重复的数据结构。比如,当你需要在一个消息中存储多个整数或者字符串时,就可以用到它。

首先,定义一个包含 `repeated` 字段的消息非常简单:

```proto

message Person {

repeated string names = 1;

}

```

这里我们创建了一个 `Person` 消息,其中 `names` 是一个字符串列表。在实际开发中,你可以轻松地将这个列表转换为编程语言中的Vector(如C++中的`std::vector`)。

如何转换呢?以C++为例:

1️⃣ 定义Protobuf对象并填充数据:

```cpp

Person person;

person.add_names("Alice");

person.add_names("Bob");

```

2️⃣ 转换为Vector:

```cpp

std::vector name_vector(person.names_size());

for(int i=0; i

name_vector[i] = person.names(i);

}

```

通过这种方式,我们可以高效地在Protobuf和Vector之间进行数据交互!🚀 记得在使用时检查边界条件哦,避免越界问题。💡

希望这篇小科普对你有所帮助!🌟

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。