Protobuf 中的类型会对应到 CPP 中的对象,我们需要了解如何操作这些对象,以及如何序列化和反序列化这些对象。 1. 定义数据 创建 sample.proto 文件,定义数据如下: 接下来,使用下面命令生成 de...
虚函数(virtual function)指的是 C++ 中使用 virtual 关键字声明的函数。从表面看起来仅仅是一个函数的声明,但是其背后有着一套较为复杂的机制,通过这套机制能为 C++ 引入一些高级的动态特性。 ...
Protocol Buffer 会将对象序列化为二进制数据。在本文中,我们简单了解下它是如何对数据进行编码的,即:了解下底层的编码格式。当然并非必须的,日常使用 Protocol Buffer 不需要精通这些细节。不过,...
C++ Boost 库中的环形缓冲区(Circular Buffer)是一种数据结构,用于实现固定大小的队列,支持高效的插入和删除操作。它的主要特点是,当缓冲区满时,新的元素会覆盖最旧的元素,从而形成一个环形结构。 1....
在写程序时,我们经常会处理小数这种数据。这节课,将会给同学们讲解下,在计算机中小数存储的两种方式:浮点小数和定点小数。学习目标: 最后,我们来总结下这两种存储方式:
字节序(Byte Order)是指在多字节数据类型(如整数和浮点数)在内存中存储时,字节的排列顺序。常见的字节序有大端序(Big Endian)和小端序(Little Endian)。 例如,对于一个四字节的整数值 0x...
1. 基本使用 2. std::promise 3. std::future
std::invoke 是 C++17 引入的一个标准库函数,用于调用可调用对象,它一般用于模板中,能够以一致的方式处理不同类型的可调用对象。
在 C/C++中,随机数生成是一项常见的任务,通常用于模拟、游戏、密码学和统计等应用中。生成时一般会指定满足均匀分布、或者正态分布的随机数。下面,介绍下如何在 C 和 C++ 中生成满足均匀分布和正态分布的随机数。实现这...
1. 指针和引用区别 程序运行结果: 上面代码中,可以看到: 指针能够实现间接修改变量的值,引用也可以,并且引用的语法更简单; 指针可以初始化 NULL,指针必须初始化为与合法的空间关联; 指针可以随时修改指向,但是引用...
函数指针是 C 语言中一项非常重要的特性,对于 C/C++ 程序员是必须要掌握的技术。函数指针提供了一种灵活的方式来操作函数,允许在运行时动态地选择要执行的函数。 1. 函数名理解 函数名可以被视为指向函数的指针。当你使...
数组是一种用于存储多个相同类型元素,C语言中一种非常重要的数据结构。它是一种线性数据结构,可以按顺序访问和操作数组中的元素。 1. 数组存储原理 C 数组的存储原理可以通过以下几个方面来理解: 连续内存分配:C 数组的元...
字符串在计算机编程中具有广泛的应用。字符串指的是由字符组成的序列,它是一种常见的数据类型,用于表示和处理文本数据。在这一篇文章中,我们将会字符串相关的内容: 字符串原理 字符串和内存 字符串操作函数 1. 字符串原理 C...