如果proto结构体的变量是基础变量,比如int、string等等,那么set的时候直接调用set_xxx即可。
如果变量是自定义类型,那么C++的生成代码中,就没有set_xxx函数名,取而代之的是三个函数名:
- set_allocated_xxx()
- release_xxx()
- mutable_xxx()
使用set_allocated_xxx()来设置变量的时候,变量不能是普通栈内存数据,必须是手动new出来的指针,至于何时delete,就不需要调用者关心了,protobuf内部会自动delete掉通过set_allocated_设置的内存;
release_xxx()是用来取消之前由set_allocated_xxx设置的数据,调用release_xxx以后,protobuf内部就不会自动去delete这个数据了;
mutable_xxx()是用来返回之前set_allocated_xxx设置的数据的const指针,方便你临时读取这个数据的同时,protobuf内部继续自动管理(delete)该数据。
更多说明见官方文档:
https://developers.google.com/protocol-buffers/docs/reference/cpp-generated
相关推荐
支持google的编解码protobuf框架自动生成代码的工具类
protobuf C++生成工具
google protobuf c++使用手册,protobuf 的类型定义,及简单使用
protobuf java代码生成,protobuf java代码生成,protobuf java代码生成,protobuf java代码生成
protobuf 命名空间,包
VS版本:VS2019 ProtoBuffer版本:protobuf-3.8.0 C++最简VS工程 已生成Protoc和lib,提出头文件引用,所有引用使用安全的相对路径
google protobuf 最新源代码google protobuf 最新源代码google protobuf 最新源代码google protobuf 最新源代码google protobuf 最新源代码google protobuf 最新源代码google protobuf 最新源代码google protobuf ...
protobuf 自动生成c# .cs文件。。。内附使用说明。protobuf 自动生成c# .cs文件。。。内附使用说明。
生成protobuf工具类的python脚本,及脚本的使用说明。使用详细方法可以参考引用的文章中介绍的的内容。生成protobuf工具类的python脚本。
当时研究了一段时间,拿出来给大家分享! google protobuf 生成c++ c#无障碍通信环境配置及脚本
zeromq和protobuf的示例代码适合初学者快速了解,上手,后端开发必学的protobuf protobuf版本:libprotoc 3.21.0-rc1
Google开源库protocol buffer C++批量生成工具,可以将.proto文件批量生成为C++源文件,供C++程序使用。
C++_protobuf 生成C++用的protobuf
Protocol Buffers(protobuf)是Google提供的一个开源序列化框架,这个demo将演示如何在Windows下VC++使用protobuf 配套文章地址:http://blog.csdn.net/mycwq/article/details/17606527
通过c++服务器和.net客户端的数据通信,详细讲解protobuf(含代码)
一个c++使用protobuf作为消息协议的一个小demo,从这个demo里你可以很好地理解进行socket编程中的数据包的设计以及数据的打包和解包。
protobuf代码生成工具
google的protobuf c++,目前国内无法下载,所以上传供大家下,本人编译测试过。
C++protobuf源文件,需要CMake生成C++项目,然后编译生成可用release
解析程序中包含了Protobuf源文件文件和示例程序(多个协议存入一个缓存区)。程序未做任何处理,方便大家直接使用。 另有说明文档,方便新手使用。