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

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











