C++的std:vector容器 原创 huangjinqiang
2025-12-26
std::vector 是 C++ 标准模板库(STL)中最常用的序列容器,可视为“智能动态数组”。它在堆上维护一块连续内存,支持随机访问(O(1))、尾部高效插入/删除(摊还 O(1)),并能自动扩容(通常按1.5~2倍增长)。与原生数组相比,vector 提供了 size()、push_back()、clear() 等便捷接口,且自动管理内存,无需手动释放。其连续存储特性使其具有优秀的缓存局部性,在绝大多数场景下性能优于链表。对于熟悉 Python list 或 Java ArrayList 的开发者,vector 是最自然的 C++ 对应选择,也是日常编程的首选容器。
一句话定义
std::vector 是 C++ 中的“可自动扩容的动态数组”,功能上类似:
Java 的 ArrayList
Python 的 list
但它底层是连续内存,性能更接近原生数组!
为什么用 vector?(vs 原生数组)
特……