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

相关推荐
2501_9445215912 小时前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
行思理13 小时前
go语言学习难度及适合学习的人群
开发语言·学习·golang
青瓦梦滋13 小时前
WebSocket协议
linux·服务器·网络·c++·websocket·网络协议·http
wangchunyu11414 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
程序 代码狂人15 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
meiying883816 小时前
快递单号批量查询Python脚本:从手动到自动化的完整实现
开发语言·python·自动化
@大迁世界17 小时前
告别 Go,拥抱 Rust
开发语言·golang·rust
SEO_juper17 小时前
Node.js 重定向链检测工具:301 跳了几跳、有没有成环,一次看清
xml·开发语言·python·node.js·json·bash
学逆向的17 小时前
C 指针常量与常量指针
c语言·开发语言·网络安全
低调滴开发18 小时前
3 行代码写崩一个函数?切片才是 Rust 字符串处理的正确姿势
开发语言·后端·rust