千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > c++中vector容量(capacity)和大小(size)的区别是什么?

c++中vector容量(capacity)和大小(size)的区别是什么?

来源:千锋教育
发布人:lxl
时间: 2023-06-05 11:00:00 1685934000

  在C++ STL中,vector是一个动态数组,可以根据需要在运行时增加或减少元素。vector有两个重要的属性:容量(capacity)和大小(size)。

  容量(capacity)

  容量(capacity)指的是vector在不重新分配存储空间的情况下可以容纳的最大元素数量。在创建vector时,会为其分配一些初始空间,因此即使向vector中添加了许多元素,也不会每次都重新分配内存空间,从而减少了程序的执行时间。在vector中,可以使用capacity函数来获取当前容量大小。例如:

#include <iostream>
#include <vector>

int main()
{
std::vector<int> vec(5, 10); // 初始大小为5,元素值都为10
std::cout << "Capacity of vec: " << vec.capacity() << std::endl; // 输出容量
return 0;
}

   输出结果:

Capacity of vec: 5

   大小(size)

  大小(size)指的是vector中当前元素的数量。可以使用size函数来获取vector的实际大小。例如:

#include <iostream>
#include <vector>

int main()
{
std::vector<int> vec(5, 10); // 初始大小为5,元素值都为10
std::cout << "Size of vec: " << vec.size() << std::endl; // 输出大小
return 0;
}

   输出结果:

Size of vec: 5

   需要注意的是,size返回的是实际元素的数量,而不是容量。当向vector中添加或删除元素时,其大小会发生变化,但是容量不一定变化。可以使用reserve函数来手动设置vector的容量,但这并不会影响其大小。

  总之,容量和大小是vector中的两个重要属性,容量指的是vector可以容纳的最大元素数量,而大小指的是vector实际包含的元素数量。

tags: vector
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT