vector的大小用size()获取,返回当前元素个数;容量用capacity()获取,表示已分配内存可容纳的元素数量,扩容时通常翻倍,如预留空间后大小为2、容量至少为10。

在C++中,vector 是一个动态数组,可以自动调整大小。要获取 vector 的大小和容量,可以使用其成员函数 size() 和 capacity()。
获取 vector 的大小(元素个数)
调用 size() 函数可以得到当前 vector 中实际存储的元素个数。
- 返回类型为 size_t
- 如果 vector 为空,返回 0
示例代码:
#include#include int main() { std::vector vec = {1, 2, 3, 4, 5}; std::cout << "大小: " << vec.size() << std::endl; // 输出 5 return 0; }
获取 vector 的容量(分配空间)
调用 capacity() 函数可以获得 vector 当前已分配的内存空间能容纳多少元素,不涉及重新分配内存。
立即学习“C++免费学习笔记(深入)”;
- 容量 >= 大小
- 当插入元素导致 size > capacity 时,vector 会自动扩容(通常是翻倍)
示例代码:
#include#include int main() { std::vector vec; vec.reserve(10); // 预留空间 vec.push_back(1); vec.push_back(2); std::cout << "大小: " << vec.size() << std::endl; // 输出 2 std::cout << "容量: " << vec.capacity() << std::endl; // 输出至少 10 return 0; }
其他相关操作
除了 size() 和 capacity(),还可以使用以下函数判断状态:
- empty():判断 vector 是否为空(size == 0)
- resize(n):改变 vector 的大小
- reserve(n):预分配至少 n 个元素的存储空间











