主页 · 14
联合和枚举
联合体由一个或多个成员构成,成员可以是不同类型 编译器只为最大的成员分配足够的内存空间 所有成员共用同一块内存空间 给其中一个成员赋值,其他成员的值也会变化
数据在内存中存储
原码:直接将数值按照正负数形式翻译成二进制 反码:原码符号位不变,其他位按位取反 补码:反码 + 1
指针
指针是地址,指针变量是存储地址的变量 指针类型决定了解引用的权限和指针运算的步长 const修饰指针有不同含义,位置很重要 野指针很危险,要养成良好的编程习惯 需要修改实参值时必须使用传址调用 数组名:通常是首元素地址,除了sizeof(…
Deque
本质:双端队列,序列容器 头文件:include 命名空间:std:: 特点:支持在头部和尾部高效插入删除,支持随机访问 复杂度:头尾插入删除 O(1),随机访问 O(1),中间插入删除 O(n) 内存结构:由多个固定大小的块组成,不是完…
Stack
本质:容器适配器,后进先出(LIFO)数据结构 头文件:include 命名空间:std:: 底层容器:默认使用 deque,也可指定 vector 或 list 特点:只允许在栈顶进行插入和删除操作 复杂度:所有操作的时间复杂度都是 O…
List
本质:双向链表容器 头文件:include 命名空间:std:: 优点:任意位置插入删除高效 O(1),不需要连续内存 缺点:不支持随机访问,访问元素需要遍历 O(n),内存开销较大(每个节点包含前后指针) 特点:双向迭代器,插入删除不会…
vector
本质:动态数组,大小可变 内存:连续存储空间 头文件:include 命名空间:std:: 优点:随机访问快,尾部操作高效,自动内存管理 缺点:中间插入/删除慢,内存占用可能较高
String
本质:动态字符序列,封装了字符串操作 头文件:include 命名空间:std:: 优点:自动内存管理,丰富的字符串操作,支持C风格字符串转换 底层:通常包含长度信息,不以\0作为必需结尾(但支持C风格转换)

