C++ STL vector的容量
关于vector的容量:
vs:如果容量不够时,增加现有容量的一半(向下取增);
vc6.0:如果容量不够时,增加现有容量的一倍;
关于vector的大小:
size()为vector中元素的个数,和容量要区别开。
代码如下:
#define _SCL_SECURE_NO_WARNINGS#include <vector>
#include <iostream>
#include <windows.h>
using namespace std;int main(){vector<int> vec;cout << vec.capacity() << endl;vector<int> vec1(5);cout << vec1.capacity() << endl;vec1.push_back(1);cout << vec1.capacity() << endl; //空间变成7了,但只有6个元素vec1.push_back(1);cout << vec1.capacity() << endl;vec1.push_back(1);cout << vec1.capacity() << endl; //增加已存在空间的一半(向下取整)进行扩容//VC6.0容量不够时,增加现有容量的一倍//重设容量//reserve() 不能变小,只能变大vec1.reserve(100);cout << vec1.capacity() << endl;vec1.reserve(2); //就算调用这个,也不会有效果cout << vec1.capacity() << endl;//size()是元素的个数//resize()重设元素个数,不改变大小vector<int> vec2(4);cout << vec2.size() << endl;cout << vec2.capacity() << endl;vec2.reserve(100);cout << vec2.capacity() << endl;cout << vec2.size() << endl;vec2.resize(2);cout << vec2.size() << endl;cout << vec2.capacity() << endl;cout << vec2.empty() << endl;vec2.resize(0);cout << vec2.empty() << endl;system("pause");return 0;
}
运行结果如下:
C++ STL vector的容量相关推荐
- C++ 笔记(23)— STL vector 类(实例化 vector、末尾插入、指定位置插入、数组方式访问元素、指针方式访问元素、删除元素、大小与容量区别)
1. vector 特点 vector 是一个模板类,提供了动态数组的通用功能,具有如下特点: 在数组末尾添加元素所需的时间是固定的,即在末尾插入元素的所需时间不随数组大小而异,在末尾删除元素也如此: ...
- Linux vector最大存储数量,C++ STL vector容量(capacity)和大小(size)的区别
很多初学者分不清楚 vector 容器的容量(capacity)和大小(size)之间的区别,甚至有人认为它们表达的是一个意思.本节将对 vector 容量和大小各自的含义做一个详细的介绍. vect ...
- stl vector 容量与大小之间的关系
当对vector进行push_back等操作的时候,当超出之前内存所分配的部分之后,需要新增内存空间存放更多元素.将原来的数据复制过来,释放之前的内存,然后插入新增加的元素:那么这个过程是怎么样的呢? ...
- C++ stl vector介绍
转自: STL vector用法介绍 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if ...
- STL vector的几种清空容器(删除)办法
1.为什么需要主动释放vector内存 来自 <https://blog.csdn.net/hellokandy/article/details/78500067> vector其中一个特 ...
- STL vector 容器介绍
介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用.通 ...
- STL vector容器
介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用. ...
- STL vector用法介绍
STL vector用法介绍 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和f ...
- STL vector 用法介绍
介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用.通 ...
最新文章
- opencv 白平衡
- 二十二、redis持久化之AOF
- 教学计划c语言源代码,c语言教学计划.doc
- 1059. Prime Factors (25)
- vba 当前文件名_VBA实践+批量合并pdf
- Silverlight实用窍门系列:28.Silverlight制作随机分布雷达扫描点,模拟雷达扫描图之被扫描设备【附带源码实例】...
- adprw指令通讯案例_超实用,非常典型的Modbus通讯项目案例,三分钟学会
- json 插入数据_Oracle Database 20c:JSON功能增强
- 比赛之前的数据清零操作
- OC_UISlider
- 虚拟ONVIF 摄像机
- mysql 升序和降序
- Dropping Balls 小球下落
- 微信聊天自动解析html文本,微信小程序纯文本实现@功能
- 「九章」刷屏的背后:万字长文解析,量子计算机和电子计算机各有何优劣?
- AWT,SWT缩小图片消除锯齿的平滑处理
- 51自学网php视频教程全集,51自学网免费PhotoShop视频教程全集
- 汤姆计算机科技有限公司英语,关于计算机专业汤姆猫概述简介介绍的毕业设计论文英文英语外文文献翻译成品资料:Tomcat介绍(中英文双语对照).docx...
- 485之modbus通讯协议学习笔记
- 出主意:阻止了对方倒苦水(错误行为)