全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

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

发布时间:2023-06-05 11:00:00
发布人:lxl

  在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实际包含的元素数量。

#vector

相关文章

什么是软件架构?

什么是软件架构?

2023-10-15
什么是系统负载?

什么是系统负载?

2023-10-15
线程池是什么?

线程池是什么?

2023-10-15
谷歌将对Android广告跟踪进行更改意味着什么?

谷歌将对Android广告跟踪进行更改意味着什么?

2023-10-15

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取