不bb,protobuf收穫很多

2021-09-28 23:55:07 字數 984 閱讀 2987

假定現在要實現乙個儲存和顯示使用者通訊錄的功能.如里不用protocbuf,思路大概是這樣的:提示使用者輸入姓名,**號碼之類,然後儲存到檔案,檔案可以是xml,csv之類.讀取的時候要解析xml或者csv,然後再把檔案中的資料裝入記憶體.這個思路完全能實現功能,問題是讀寫的時候都要涉及檔案操作.protocbuf可以簡化這個操作,存的時候直接按物件存,取的時候按物件取,效率極高.

定義proto檔案addressbook.proto,addressbook.proto中定義了通訊錄的一些資訊.

syntax = "proto2";

package tutorial;

message person

message phonenumber

repeated phonenumber phones = 4;

}message addressbook

2. 

把proto檔案轉化成c++**.執行下面命令.

protoc --cpp_out=. addressbook.proto
4:

#include #include #include #include "person.pb.h"

int main()

tutorial::person zhai;

{std::fstream input("users/zhailt/documents/myfile", std::ios::in | std::ios::binary);

zhai.parsefromistream(&input);

std::cout<4:編譯成可執行檔案

g++ addressbook.pb.cc read_data.cpp -o read.out -lprotobuf

g++ addressbook.pb.cc write_data.cpp -o write.out -lprotobuf

看了《雲水謠》,我收穫很多。

一對戀人,本互相依戀,縱然家庭境況的阻撓,阻燃萬水千山 世事變遷,也無法割斷兩人的相印相吸。我也在生活,也在戀愛,也在篤定自己心中的另一半,也在為此堅韌努力。自己的心,不知道上了多少層次,但如何割捨自己心中的珍愛。我知道前方很難,就像電影中的難,一點也不會輕鬆。我需要的,是她心中的牽手,是她能把心交...

關於C語言操作符結合性的學習總結(收穫很多)

右結合性,就是在表示式中最右邊的操作最先執行,然後從右到左依次執行。左結合性的操作符 如位操作符 和 則是從左至右依次執行。在標準c語言的文件裡,對操作符的結合性並沒有做出非常清楚的解釋。乙個滿分的回答是 它是仲裁者,在幾個操作符具有相同的優先順序時決定先執行哪乙個。每個操作符擁有某一級別的優先順序...

防止在listbox中新增很多資料出現不停的重新整理

問題提出 在listbox新增很多資料的時候,由於控制項不停的重新整理,導致出現閃爍,如何解決?解決方法 再新增資料以前,禁止控制項重新整理,資料新增完畢以後,再重新整理一次。程式實現 其中 m listbox是clistbox的控制項型別的變數 m listbox.lockwindowupdate...