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

相关推荐
Cx330❀5 小时前
【Linux网络】高性能 TCP 服务器:从多线程到线程池的架构演进与落地实践
linux·运维·服务器·网络·c++·tcp/ip·架构
数据知道5 小时前
网站到底是如何通过JS读取你的浏览器指纹的?
开发语言·javascript·ecmascript·指纹浏览器
c238565 小时前
C++的IO流深入理解(上)
开发语言·c++
SilentSamsara5 小时前
DuckDB + Python:嵌入式 OLAP 数据库的轻量分析实战
开发语言·数据库·python·微服务
炘爚5 小时前
Phase 4:业务线程池 — IO/计算解耦
linux·c++
张小姐的猫5 小时前
【Linux】多线程 —— 线程池 | 单例模式 | 常见锁
linux·运维·服务器·c++·单例模式·设计模式·策略模式
无限进步_5 小时前
【Linux】进程状态、僵尸与孤儿、进程调度
linux·运维·服务器·开发语言·数据结构·算法
郝学胜-神的一滴5 小时前
力扣 662 :二叉树最大宽度
java·数据结构·c++·python·算法·leetcode·职场和发展
仙俊红5 小时前
反射到底解决什么问题?
java·开发语言
大阳1235 小时前
ARM.9(RGBLCD,PWM)
c语言·开发语言·汇编·单片机·嵌入式硬件·pwm·rgblcd