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; }