STL—vector空间的动态增长
vector空间的动态增长
vector的size(),capacity(),reserve(),resize()函数
 
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> a;
cout << "a.size(): " << a.size() << " a.capacity(): " << a.capacity() << endl;
for (int i = ; i < ; i++)
{
a.push_back(i);
cout << "a.size(): " << a.size() << " a.capacity(): " << a.capacity() << endl;
}
cout << endl;
vector<int> b;
b.reserve();
for (int i = ; i < ; i++)
{
b.push_back(i);
cout << "b.size(): " << b.size() << " b.capacity(): " << b.capacity() << endl;
}
b.push_back();
cout << "b.size(): " << b.size() << " b.capacity(): " << b.capacity() << endl;
cout << endl;
b.reserve();
cout << "after b.reserve(15):" << endl;
cout << "b.size(): " << b.size() << " b.capacity(): " << b.capacity() << endl;
b.resize();
cout << "after b.resize(5):" << endl;
cout << "b.size(): " << b.size() << " b.capacity(): " << b.capacity() << endl;
return ;
}
a.size(): a.capacity():
a.size(): a.capacity():
a.size(): a.capacity():
a.size(): a.capacity():
a.size(): a.capacity():
a.size(): a.capacity():
a.size(): a.capacity():
a.size(): a.capacity():
a.size(): a.capacity():
a.size(): a.capacity():
a.size(): a.capacity():
b.size(): b.capacity():
b.size(): b.capacity():
b.size(): b.capacity():
b.size(): b.capacity():
b.size(): b.capacity():
b.size(): b.capacity():
b.size(): b.capacity():
b.size(): b.capacity():
b.size(): b.capacity():
b.size(): b.capacity():
b.size(): b.capacity():
after b.reserve():
b.size(): b.capacity():
after b.resize():
b.size(): b.capacity():
4. 当reserve()分配的空间比原空间小时,是不会引起重新分配的。
(全文完)
STL—vector空间的动态增长的更多相关文章
- STL—vector
		前面介绍了STL对象的构造与析构以及内存的配置与释放,那具体的容器是怎么应用STL的空间配置器的呢?这篇先介绍STL的容器vector. vector的数据成员 vector只有4个数据成员:3个迭代 ... 
- STL——vector
		学到STL的vector,发现手中的材料不是很详细,这里做个汇总. 1 操作 (1)头文件#include<vector>. (2)创建vector对象,vector<int> ... 
- STL Vector使用
		http://blog.163.com/zhoumhan_0351/blog/static/399542272010225104536463 Vector 像一个快速的数组,其具有数组的快速索引方式. ... 
- STL vector 内存释放
		最近在论坛看到一个提问帖子,问题是vector中存储了对象的指针,调用clear后这些指针如何删除? class Test { public: Test() {} ~Test() { cout < ... 
- STL vector的介绍(1)
		尝试下翻译STL里面的一些easy和算法.四级过了.六级刚考.顺便练练自己的英语水平.翻译的不好的地方请大神多多不吝赐教哈.方便我改正. 原来均来自:http://www.cplusplus.com/ ... 
- 2.3 C++STL vector容器详解
		文章目录 2.3.1 引入 2.3.2 代码实例 2.3.3 运行结果 总结 2.3.1 引入 vector 容器 动态数组 可变数组 vector容器 单口容器(尾部操作效率高) vector动态增 ... 
- STL vector
		STL vector vector是线性容器,它的元素严格的按照线性序列排序,和动态数组很相似,和数组一样,它的元素存储在一块连续的存储空间中,这也意味着我们不仅可以使用迭代器(iterator)访问 ... 
- STL vector用法介绍
		STL vector用法介绍 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和f ... 
- C++ STL vector 内存分配
		vector为了支持快速的随机访问,vector容器的元素以连续方式存放,每一个元素都紧挨着前一个元素存储. 当vector添加一个元素时,为了满足连续存放这个特性,都需要重新分配空间.拷贝元素.撤销 ... 
随机推荐
- js循环给li绑定事件实现 点击li弹出其索引值 和内容
			代码如下: html代码 <ul> <li>房产</li> <li>家居</li> <li>二手房</li> < ... 
- 【JAVAWEB学习笔记】网上商城实战2:异步加载分类、Redis缓存分类和显示商品
			网上商城实战2 今日任务 完成分类模块的功能 完成商品模块的功能 1.1 分类模块的功能: 1.1.1 查询分类的功能: 1.1.2 查询分类的代码实现: 1.1.2.1 创建 ... 
- 一天搞定CSS:定位position--17
			1.定位取值概览 2.相对定位relative <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ... 
- iOS自定义弹出视图
			p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #78492a } p.p2 { margin: 0.0px 0. ... 
- 上下文Context详细介绍
			1.先看看它的继承结构,下图可以看出Context首先是一个抽象类,继承了Object,Activity,Service,Application都继承了它 2.API中对它的描述: @1Context ... 
- 依赖注入之Autofac使用总结
			依赖倒置?控制反转(IOC)? 依赖注入(DI)? 你是否还在被这些名词所困扰,是否看了大量理论文章后还是一知半解了? 今天我想结合实际项目,和正在迷惑中的新手朋友一起来学习和总结依赖注入Autofa ... 
- Docker Daemon  参数最佳实践
			1. Docker Daemon 配置参数 限制容器之间网络通信 在同一台主机上若不限制容器之间通信,容器之间就会暴露些隐私的信息,所以推荐关闭 docker daemon –icc=false 使用 ... 
- Linux命令 文件备份归档恢复
			cp [功能说明] 文件的备份 英文xxxx #cp命令将源文件复制到另外安全的地方,复制的文件和源文件是两个相互独立的文件,对认识一个文件的操作不影响另一个文件,但与符号链接文件中的硬链接是有区别 ... 
- 1000行代码徒手写正则表达式引擎【1】--JAVA中正则表达式的使用
			简介: 本文是系列博客的第一篇,主要讲解和分析正则表达式规则以及JAVA中原生正则表达式引擎的使用.在后续的文章中会涉及基于NFA的正则表达式引擎内部的工作原理,并在此基础上用1000行左右的JAVA ... 
- 【Android Developers Training】 2. 运行你的应用
			注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ... 
