Protocol Buffer的理解

Protocol Buffers是谷歌提供的一种用来序列化结构体数据的机制,类似于XML。官网上这么定义:

Protocol buffers are a language-neutral, platform-neutral extensible mechanism for serializing structured data.

在proto中定义message之后,编译器会给每个field生成一个class。每个class生成一些方法,以foo为例:

message Person {
  required string name = 1;
  required int32 id = 2;
  optional string foo = 3;
}

则其中的foo会自动生成一些系列的方法,

bool has_foo() const: 返回field是否被设置
int32 foo() const: 返回当前值
void set_foo(int32 value): 设置field的值
void clear_foo(): 清除field的值
string* mutable_foo():返回string field的指针

##参考

https://github.com/google/protobuf

http://www.searchtb.com/2012/09/protocol-buffers.html

https://developers.google.com/protocol-buffers/?hl=zh-cn

https://developers.google.com/protocol-buffers/docs/reference/cpp-generated?hl=zh-cn

转载于:https://my.oschina.net/lvyi/blog/469443

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值