c++ | uint8_t、uint16_t、unint32_t 和size_t

头文件

c++ 复制代码
#include <stdint.h>  // for C
#include <cstdint>   // for C++

uint8_t、uint16_t、unint32_t

这三个分别是表示无符号整型,不同点是他们的长度不同,分别是8位机器位、16、32,也就是一个字节、两个字节、四个字节

注意在任何系统,它们的长度都是固定的

在处理二进制数据 是一个很好的选择 如网络通信上(讲的有点泛)

通常用于需要确切控制大小的场景,例如位操作、字节处理等。

而size_t 本质虽然也是无符号整型,但是其长度是会变的。

在处理索引类型是一个很好的选择

通常用于表示内存块的大小、数组的长度、容器的大小等

数据的保存,粗略的描述,就是要用一个"容器来装它",站在不同的角度,维度也是不一样的。比如数据类型为二进制就可以从int、char角度去选择。如果数据为int、char就要选择 vector、数组、字符串等等。前者涉及网络数据处理偏多,还有加密处理等等,后者涉及数据的计算、筛选等等。现就粗略这样理解吧

相关推荐
-To be number.wan2 小时前
C++ 赋值运算符重载:深拷贝 vs 浅拷贝的生死线!
前端·c++
疯狂的挖掘机2 小时前
记一次基于QT的图片操作处理优化思路(包括在图上放大缩小,截图,画线,取值等)
开发语言·数据库·qt
cnxy1882 小时前
围棋对弈Python程序开发完整指南:步骤4 - 提子逻辑和劫争规则实现
开发语言·python·机器学习
意趣新3 小时前
C 语言源文件从编写完成到最终生成可执行文件的完整、详细过程
c语言·开发语言
李艺为3 小时前
根据apk包名动态修改Android品牌与型号
android·开发语言
XXYBMOOO4 小时前
内核驱动开发与用户级驱动开发:深度对比与应用场景解析
linux·c++·驱动开发·嵌入式硬件·fpga开发·硬件工程
黄河滴滴4 小时前
java系统变卡变慢的原因是什么?从oom的角度分析
java·开发语言
老华带你飞4 小时前
农产品销售管理|基于java + vue农产品销售管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
superman超哥4 小时前
Rust Workspace 多项目管理:单体仓库的优雅组织
开发语言·rust·多项目管理·rust workspace·单体仓库
kylezhao20195 小时前
C#通过HSLCommunication库操作PLC用法
开发语言·c#