protobuf repeated类型的使用
作者:互联网
https://blog.csdn.net/mycwq/article/details/19622571
protobuf是Google开发的一个序列化框架,类似XML,JSON,基于二进制,比传统的XML表示同样一段内容要短小得多。通过protobuf,可以很轻松的调用相关方法来完成业务数据的序列化与反序列化。protobuf repeated类型相当于std的vector,可以用来存放N个相同类型的内容,文章将简单介绍protobuf repeated的使用。 首先定义一个protobuf结构,如下: message Person { required int32 age = 1; required string name = 2; } message Family { repeated Person person = 1; } 下面我们以例子简单说明如何使用: int main(int argc, char* argv[]) { GOOGLE_PROTOBUF_VERIFY_VERSION; Family family; Person* person; // 添加一个家庭成员,John person = family.add_person(); person->set_age(25); person->set_name("John"); // 添加一个家庭成员,Lucy person = family.add_person(); person->set_age(23); person->set_name("Lucy"); // 添加一个家庭成员,Tony person = family.add_person(); person->set_age(2); person->set_name("Tony"); // 显示所有家庭成员 int size = family.person_size(); cout << "这个家庭有 " << size << " 个成员,如下:" << endl; for(int i=0; i<size; i++) { Person psn = family.person(i); cout << i+1 << ". " << psn.name() << ", 年龄 " << psn.age() << endl; } getchar(); return 0; }
标签:set,protobuf,family,person,repeated,类型,name 来源: https://www.cnblogs.com/longchang/p/12859475.html