C++ 内存与资源管理详解
1. 引言
在数据管理和操作方面,有一些更为专门化或处理原始内存(而非类型化对象)的工具。这些工具在特定场景下能发挥重要作用,帮助我们更高效地管理资源和处理数据。
2. “近似容器”
标准库提供了多种容器,它们虽能容纳元素,但在标准模板库(STL)框架下各有特点和限制,可看作“近似容器”。这些容器满足了不同但常见(且常重叠)的需求,若标准库不提供,很多人就得自行设计实现。以下是部分“近似容器”及其特点:
| 容器名称 | 特点 |
| — | — |
| T[N](内置数组) | 固定大小的连续分配序列,隐式转换为 T* |
| array | 固定大小,解决了内置数组的多数问题 |
| bitset | 固定大小的位序列 |
| vector | 位的紧凑存储 |
| pair | 包含两个不同类型元素 |
| tuple | 可包含任意数量和类型的元素 |
| basic_string | 字符序列,提供字符串操作 |
| valarray | 数值数组,提供数值操作 |
2.1 array
array 定义在 <array> 中,是固定大小的元素序列,元素数量在编译时指定。它可在栈、对象或静态存储中分配元素,可看作内置数组的改进版,无隐式指针转换,还提供了便利函数,使用时无额外开销。以下是其部分特性及示例:
template<typename T,
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



