[C++STL] vector size max_size capacity区别与理解

本文详细介绍了C++ Standard Template Library (STL) 中vector容器的size、capacity和max_size三个方法的区别。size方法返回当前vector的元素数量,capacity则表示已分配的内存大小,而max_size给出了理论上的最大容量。通过实例,将这三个概念比作图书馆的书架,形象地阐述了它们的含义。文章旨在帮助读者清晰地区分并理解这些概念。
摘要由CSDN通过智能技术生成

前言

C++STL中的vector有三个与容器大小相关的方法

  • size
  • max_size
  • capacity

它们看着相似,实则彼此不同,且初学时容易混淆。
这篇文章将帮助您对它们进行理解和区分。


一、方法功能

1. size

size方法返回的是 当前 vector对象中 元素的个数
刚刚初始化的空vector对象size的值为0。

2. capacity

capacity方法返回的是当前程序已经分配给该vector对象的内存大小(单位为元素个数)。

3. max_size

max_size方法返回的是当前程序最大可能可以容纳的元素个数。


二、理解区分

举个例子🌰

比方说这个vector容器是图书馆里的一个书架。
那么:

size方法反应书架上已经放了多少书。
capacity方法反应书架有多大。
max_size方法反应最大可能可以在书房里放置一个多大的书架。


原创不易,感谢您的支持。
欢迎阅读我的另一篇文章,对vector进行更深入的了解→ vector 可变长数组 用法详解

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wingaso

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值