size()返回vector当前元素个数,capacity()返回不扩容前提下最多容纳的元素数;2. 容量通常≥大小,扩容时自动翻倍;3. 推荐用empty()而非size()==0判空,效率更高。

在C++中,获取 vector 的大小和容量是常见操作。这两个概念容易混淆,但用途不同。
size() 函数用于获取 vector 当前存储的元素个数,也就是“逻辑长度”。
示例代码:
#include <vector>
#include <iostream>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
std::cout << "大小: " << vec.size() << std::endl; // 输出 5
return 0;
}
capacity() 函数返回 vector 在不重新分配内存的前提下最多能容纳的元素数量,即“物理空间”。
立即学习“C++免费学习笔记(深入)”;
示例代码:
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 或更大
理解两者的差异对性能优化很重要。
如果频繁添加元素,建议提前使用 reserve() 预留容量,避免多次重分配。
推荐用 vec.empty() 而不是 vec.size() == 0 来判断 vector 是否为空。
示例:
if (vec.empty()) {
std::cout << "vector 是空的" << std::endl;
}
以上就是c++++中怎么获取vector的大小_vector容器容量与大小获取的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号