Google Protocol Buffers(简称 Protobuf)是一种由 Google 开发的,用于定义结构化数据并在不同的系统或编程语言之间高效地传输和存储数据。它可以看作是一种更轻量且更高...
Protocol Buffers(protobuf)主要用于在不同系统、不同语言之间进行高效的数据序列化和反序列化。从而实现跨平台、跨语言的数据交互、网络通信、持久化存储等问题的工具。 在 C++ 中...
Protocol Buffers 使用了一种中立、平台无关的语言来定义数据结构,使得不同编程语言、不同平台之间能够进行数据交互。Protocol Buffers 目前主要有 Proto2 和 Prot...
Protobuf 中的类型会对应到 CPP 中的对象,我们需要了解如何操作这些对象,以及如何序列化和反序列化这些对象。 1. 定义数据 创建 sample.proto 文件,定义数据如下: 接下来,使...
虚函数(virtual function)指的是 C++ 中使用 virtual 关键字声明的函数。从表面看起来仅仅是一个函数的声明,但是其背后有着一套较为复杂的机制,通过这套机制能为 C++ 引入一...
Protocol Buffer 会将对象序列化为二进制数据。在本文中,我们简单了解下它是如何对数据进行编码的,即:了解下底层的编码格式。当然并非必须的,日常使用 Protocol Buffer 不需要...
在写程序时,我们经常会处理小数这种数据。这节课,将会给同学们讲解下,在计算机中小数存储的两种方式:浮点小数和定点小数。学习目标: 最后,我们来总结下这两种存储方式:
在 C++ 多线程编程中,线程局部存储(Thread Local Storage)是一项非常重要且值得深入理解的技术。它在提升线程安全性、简化并发设计中发挥着关键作用,是每一位 C++ 开发者都应...
函数调用绑定(Function Call Binding)指的是将一个函数调用与相应的函数定义(实现)关联起来的过程。 1. 函数绑定 对于 C++ 程序而言,将函数查找、关联的过程放在编译期完成,在...
auto_ptr 是 C++98 中引入的智能指针,用于自动管理动态分配的对象的生命周期。然而,它在 C++11 中已被标记为已废弃,并且在 C++17 中已被移除,因为它存在一些严重的缺陷和安全问题...
在这篇文章中,我们重点学习 C++ 中用于动态内存管理的技术 – 智能指针,C++11 中智能指针包含:unique_ptr、shared_ptr、weak_ptr。这篇文章我们学习 unique_p...
智能指针是我们 C++ 中用于管理动态对象(堆区对象)的技术,在实际生产环境中,也有非常重要的应用。 本片文章我们学习 C++11 中的 shared_ptr 智能指针,主要从以下几个方面来学习: ...
冀公网安备13050302001966号