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、数组、字符串等等。前者涉及网络数据处理偏多,还有加密处理等等,后者涉及数据的计算、筛选等等。现就粗略这样理解吧

相关推荐
小龙报14 分钟前
《彻底理解C语言指针全攻略(6)-- qsort、sizeof和strlen》
c语言·开发语言·职场和发展·创业创新·学习方法·业界资讯·visual studio
让我们一起加油好吗16 分钟前
【基础算法】01BFS
数据结构·c++·算法·bfs·01bfs
郝学胜-神的一滴31 分钟前
Three.js光照技术详解:为3D场景注入灵魂
开发语言·前端·javascript·3d·web3·webgl
fie888931 分钟前
基于Matlab的深度堆叠自编码器(SAE)实现与分类应用
开发语言·分类
_w_z_j_41 分钟前
C++11----列表初始化和initializer_list
开发语言·c++
冬天的雪20081 小时前
java内存性能优化工具Mat
java·开发语言
Le1Yu1 小时前
消息队列以及RabbitMQ的使用
java·开发语言
1白天的黑夜11 小时前
递归-24.两两交换链表中的节点-力扣(LeetCode)
数据结构·c++·leetcode·链表·递归
羚羊角uou1 小时前
【Linux】线程池
java·开发语言
1白天的黑夜12 小时前
递归-206.反转链表-力扣(LeetCode)
数据结构·c++·leetcode·链表·递归