给Protobuf中的repeated类型变量添加子项

news/2024/7/1 18:31:08

Protobuf为repeated类型变量生成的自动代码,不提供通常的类似add_item(item)的添加子项的成员函数,Protobuf的做法是:

UserDocChangesResp changes;
DocChangeInfo change;
DocChangeInfo* pChange = changes.add_docchangeinfos();
*pChange = change;
上面的例子中,UserDocChangesResp有个子项docchangeinfos_,它是DocChangeInfo的repeated类型变量, 通过上面的第3行,在docchangeinfos_中创建一个子项,并将子项指针传出,第4行做赋值操作

注意,第4行其实是调用DocChangeInfo类重载的operator=(),其中会自动调用 对DocChangeInfo各个属性的set方法,从而完成DocChangeInfo所有属性的赋值操作

当然,不按照第4行的方法用一个=搞定,自己手工去逐个调用 DocChangeInfo各个属性的set方法,也是可以的。




http://www.niftyadmin.cn/n/3293232.html

相关文章

vc6.0++插件

Visual C 插件系列介绍 说到Visual C的插件,大家可能只有想到Visual Assist吧。天真!行内开发的插件可只有这个!?下面介绍一下vc6.0的其他插件。 Visual Assist(强烈推荐) 网址:http://www.whol…

ProtoBuf 常用序列化/反序列化API

转自:http://blog.csdn.net/sealyao/article/details/6940245 1、C数组的序列化和反序列化API [cpp] view plaincopy //C数组的序列化和序列化API bool ParseFromArray(const void* data, int size); bool SerializeToArray(void* data, int size) const; //使…

多列索引生效规则

btree索引的常见误区 在where条件常用的列上都加上索引 比如:where cat_id3 and price>100 #查询第3个栏目,100以上的商品 只能用上cat_id或price索引,因为独立的索引同时只能用上1个。 多列索引生效规则 多列索引发挥作用,需要…

C++ 左值引用、右值引用和指针在汇编层面的差别

右值引用 // 右值引用int&& rret 1 2;00D01FDF mov dword ptr [ebp-18h],3 00D01FE6 lea eax,[ebp-18h] 00D01FE9 mov dword ptr [rret],eax rret 10;00D01FEC mov eax,dword ptr [rret] 00D01FEF mov dword ptr […

常见的网页地址的优化大家应该注意的4个问题

常见的网页地址的优化大家应该注意的4个问题 网站域名选择 我们在选择域名的时候大家尽量选择一些国际域名,选择好几而且你要做的关键词的域名相近的注册!拼音域名对百度排名有一定的帮助的,大家用的话也有一定的感悟,你可以试试几个关键词看…

在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求【转载】

标签:C# HTTPS HttpWebRequest HTTP HttpWebResponse原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://zhoufoxcn.blog.51cto.com/792419/561934这个需求来自于我最近练手的一个…

TCP 的那些事儿-1

TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TC…

权威数据:百度9月后最新算法转SEOwhy

权威数据:百度9月后最新算法转SEOwhy 1、百度加强了站点用户体验提升,对用户体验不好的站点进行了降权。 (1)站点弹窗广告。对于这类站点做了适当的降权。 (2)页面或者站点首页充斥了大量JS代码的站点内容…