protobuf

针对proto2

protobuf 常用的接口

bool IsInitialized() const:                // 确认required字段是否被设置

string DebugString() const:                // 返回消息的可读表示,用于调试

void CopyFrom(const Person& from):         // 使用给定消息值copy

void Clear():                              // 清除所有元素为空状态


bool SerializeToString(string* output) const:        // 序列化消息,将存储字节的以string方式输出。注意字节是二进制,而非文本;

bool ParseFromString(const string& data):            // 解析给定的string     

bool SerializeToOstream(ostream* output) const:      // 写消息给定的c++  ostream中

bool ParseFromIstream(istream* input):               // 从给定的c++ istream中解析出消息


-         一般的get函数的接口跟你的列名一样即get函数 fieldnum,并且返回的是const 类型

-        set函数的接口的是set_fieldnum, 主要针对内置类型,简单类型;复合/嵌套消息不可以
-         mutable_fieldnum 该函数返回指向该字段的一个指针。同时将该字段置为被设置状态。

若该对象存在,则直接返回该对象,若不存在则新new 一个,可以用局部的

-         Protobuf 只要fieldnum 不改,即使该列的类型名更改也不影响兼容,老代码同样能兼容新pb文件

-        对内置类型数据的赋值, 使用set_xx()

-        set_allocated_xx, 需要先是new 一个对应的指针变量,再用指针给复合类型初始化,这里保存的是对象的指针, 不能用局部的

protobuf 与txt 文件互相转化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值