• 简单而言,size()指的是当前Vector中存放元素的大小,即他当前存放了多少个元素,capacity()指的是他能够存放多少个元素。
  • 两个方法可以控制存放元素的大小和最大容纳数量
    reserve可以保证容纳的大小
    resize()可以设置当前存放元素的大小,但是不会改变前面已存放元素的值,这点来看,resize()是相当安全的一个函数方法,会默认设置外面的元素的值为空
  • 实例代码
// VecDemo.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
using namespace std;void testVector()
{vector<int> mm;mm.reserve(12); //修改Capacity大小cout << "当前Vector能容纳的大小为:" << mm.capacity()<< endl; cout << "当前Vector的大小为:" << mm.size() << endl;mm.push_back(22);cout << "当前Vector能容纳的大小为:" << mm.capacity()<< endl; cout << "当前Vector的大小为:" << mm.size() << endl;mm.resize(1);//分配后面的为0,但是不修改前面存放的数值cout << "当前Vector能容纳的大小为:" << mm.capacity()<< endl; cout << "当前Vector的大小为:" << mm.size() << endl;
}int _tmain(int argc, _TCHAR* argv[])
{testVector();system("pause");return 0;
}

运行结果:

  • 根据实例运行结果 就可以说明上述的表达,还是代码说明一切,用英语表达而言 就是
    code show all

C++ Vector中size()和capacity()区别相关推荐

  1. vector中resize()和reserve()区别

    vector中resize()和reserve()区别 本博客转载自:https://blog.csdn.net/jocodeoe/article/details/9230879 先看看<C++ ...

  2. std::vector中resize()和reserve()区别

    在STL容器中vector用的还是比较多的,但是在使用时,会对resize()和reserve()的使用产生迷惑,现在就对这一情况做个对比: resize():改变的是size()与capacity( ...

  3. Python中size和shape区别

    在numpy里面,两个是不相同的,size: 所有元素的个数和, shape: 数组类型大小(3,2) , 但在pytorch里面,两个是一样的,表达的都是数组类型 import torch impo ...

  4. PIL获取图像尺寸size 以及与 numpy中size()函数的区别

    首先来看下我们图像的基本信息(是我们帅气滴千玺图像): 直接上代码,会更加容易理解点: from PIL import Image import numpy as npimg = Image.open ...

  5. vector中的push_back(涉及到动态分配),resize,reserve,swap方法解析

    目录 一.vector的push_back解析 二.size和capacity 三.resize和reserve 1.resize 2.reserve 四.关于reserve的应用 五.内存释放 sw ...

  6. C++ vector中的resize,reserve,size和capacity函数讲解

    前言 在介绍resize(),reserve(),size()和capacity()函数之前,先简单介绍一下c++中vector的概念. vector:顺序容器(可变大小数组).支持快速随机访问.在尾 ...

  7. Linux vector最大存储数量,C++ STL vector容量(capacity)和大小(size)的区别

    很多初学者分不清楚 vector 容器的容量(capacity)和大小(size)之间的区别,甚至有人认为它们表达的是一个意思.本节将对 vector 容量和大小各自的含义做一个详细的介绍. vect ...

  8. c++中list、vector、map 、set区别

    List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]. Vector对于随机 ...

  9. 机器学习| 面试题:01、机器学习中LR(Logistic Regression)和SVM(Support Vector Machine)有什么区别与联系?

    问题 机器学习中LR(Logistic Regression)和SVM(Support Vector Machine)有什么区别与联系? 背景 LR和SVM的概念大家都有了解甚至很熟悉了,不过在面试中 ...

最新文章

  1. css 加载动画如何生效,CSS 加载动画
  2. Cocos2d学习之路三(使用Zwoptex创建精灵表单和CCAnimate动画)
  3. 单片机并口应用实验c语言,1单片机并口简单应用(流水灯).docx
  4. DBNull与Null的区别
  5. SaaS 正在 Rails 化
  6. Nginx从入门到掌握【(第3节(共3节)】
  7. AIX 关键系统文件被清空问题定位过程全记录
  8. 电脑清灰过后,CPU温度下降,显卡温度却上升了
  9. 2021数学建模美赛:赛前总动员
  10. 聊一聊:苹果发布新款M2 MacBook Air,macOS 13上线
  11. 浏览器主页被搜狗劫持如何处理
  12. [渝粤教育] 西南科技大学 经济型数控系统设计 在线考试复习资料
  13. 带你轻松写出第一篇优秀论文
  14. 曝iPhone15或换用USB-C接口;Google将下架第三方Android通话录音APP|极客头条
  15. C++函数返回值和返回引用
  16. 一下子搞懂JDBC,看这篇就够了--以MySQL为例。
  17. 2019最新Android常用开源库总结
  18. 中国天气城市代码编号
  19. 准备客串一回Java讲师
  20. 前端HTTP、浏览器面试题

热门文章

  1. 从入门到入土,Redis简明教程
  2. java定义整形输出_java程序命令行接受字符转换为整形并相加输出
  3. python集合运算_从零开始学Python - 第014课:常用数据结构之集合
  4. 安装Kubernetes V1.18.2
  5. overflow+文档流
  6. swift版 二分查找 (折半查找)
  7. 爬虫app信息抓取之apk反编译抓取
  8. (转)Vue 爬坑之路(四)—— 与 Vuex 的第一次接触
  9. 【复习资料】编译原理中:短语,直接短语,句柄
  10. Android实例-屏幕操持常亮(XE8+小米2)