
protobuf repeated的用法
//User.proto package ProtoMessage; message User { required uint32 ID = 1; required string name = 2; } message UserList {...
//User.proto package ProtoMessage; message User { required uint32 ID = 1; required string name = 2; } message UserList {...
一、单线程死锁 void b(); void a() { mutex m; m.lock(); b(); cout
前段项目中发现一个问题,程序总是在某个dynamic_cast进行动态转换时出异常,查了半天才发现问题原来是出在memset的使用上,虽然问题本身显而易见,但当处于几十万行代码量级中时,就变得不太那么容易定位了。 本文归纳了下使用memse...
静态全局变量 特性 1. 存放空间:存放在全局数据区 从声明时开始初始化main函数结束销毁 2. 初始化:如果没有初始化则会被默认初始化为0 在首次用到时进行初始化 3. 作用域:作用域为整个源文件, 4. 区别:和全局变量的区别是 静态...
1.vector的内存增长 vector其中一个特点:内存空间只会增长,不会减小,援引C++ Primer:为了支持快速的随机访问,vector容器的元素以连续方式存放,每一个元素都紧挨着前一个元素存储。设想一下,当vector添加一个元素...
本文将介绍 C++ 里面的 基本类型(引用 指针 结构体) 类型转换(static_cast、dynamic_cast、const_cast、reinterpret_cast), 类型处理(typedef auto...
0.概述 什么是deque呢? 一句话来概括 ,deque是一种 双向开口的”连续”线性空间存储数据的数据结构(注意这里的连续打了双引号,后面会解释) 咱们来对比一下deque和vector的一些区别 优点...
list是什么? list本质上就是双向链表 相对与上一篇所讲的vector,我们知道双向链表有它自己的优点,首先空间利用比较灵活,所以省空间. 而且插入删除元素都是常数时间 下面将参照list的源码,将其分为下面...
Table of Contents 0.引入 1.标准的空间配置器allocator 2.更为高效的空间配置器alloc 2.1—-对象的构造与析构 2.1.1 对象的构造:::construct(); 2.1.2对象的析构::...
1.extern 1)extern修饰变量的声明 如果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然后就可以引用变量v。 2)extern修饰函数的声明 如果文件a.c需要引用b.c中的函数,...