实践如下:

#include <iostream>
#include <vector>
#include <typeinfo>
using namespace std; int main() {
cout<<"Vector 测试"<<endl; vector<int> v1,v2;
v1.reserve();
v2.reserve(); v1 = vector<int>(,);
int array[] = {,,,,,,,};
v2 = vector<int>(array, array+); cout<<"v1容量:"<<v1.capacity()<<endl;
cout<<"v1当前各项:"<<endl;
for(decltype(v2.size()) i = ; i < v1.size(); i++){
cout<<" 第"<<i<<"项: "<<v1[i]<<endl;
} cout<<"v2容量:"<<v2.capacity()<<endl;
cout<<"v2当前各项:"<<endl;
for(vector<int>::size_type i = ; i < v2.size(); i++){
cout<<" 第"<<i<<"项: "<<v2[i]<<endl;
} cout<<" typeid(size_t).name() = "<<typeid(size_t).name()<<endl;
cout<<" typeid(vector<int>::size_type).name() = "<<typeid(vector<int>::size_type).name()<<endl;
cout<<endl<<endl; v1.resize();
cout<<"v1容量重新初始化为0"<<endl;
if(v1.empty()){
cout<<"v1是空的"<<endl;
cout<<"v1中元素的个数是: "<<v1.size()<<endl;
cout<<"v1容量是: "<<v1.capacity()<<endl;
}
else{
cout<<"v1容量是: "<<v1.size()<<endl;
} v1.resize();
cout<<"v1容量重新初始化为10"<<endl;
cout<<"v1中元素的个数是: "<<v1.size()<<endl;
cout<<"v1容量是: "<<v1.capacity()<<endl;
cout<<"v1当前各项:"<<endl;
for(unsigned int i = ; i < v1.size(); i++){
cout<<" 第"<<i<<"项: "<<v1[i]<<endl;
}
cout<<endl<<endl; v1.swap(v2);
cout<<"v1与v2进行了swap操作"<<endl;
cout<<"v1中元素的个数是: "<<v1.size()<<endl;
cout<<"v1容量是: "<<v1.capacity()<<endl;
cout<<"v1当前各项:"<<endl;
for(unsigned int i = ; i < v1.size(); i++){
cout<<" 第"<<i<<"项: "<<v1[i]<<endl;
}
cout<<endl<<endl; v1.push_back();
cout<<"v1.push_back(22222)操作"<<endl;
cout<<"v1中元素的个数是: "<<v1.size()<<endl;
cout<<"v1容量是: "<<v1.capacity()<<endl;
cout<<"v1当前各项:"<<endl;
for(unsigned int i = ; i < v1.size(); i++){
cout<<" 第"<<i<<"项: "<<v1[i]<<endl;
}
cout<<endl<<endl; v1.erase(v1.end()-);
cout<<"v1.push_back(22222)操作"<<endl;
cout<<"v1中元素的个数是: "<<v1.size()<<endl;
cout<<"v1容量是: "<<v1.capacity()<<endl;
cout<<"v1当前各项:"<<endl;
for(unsigned int i = ; i < v1.size(); i++){
cout<<" 第"<<i<<"项: "<<v1[i]<<endl;
}
cout<<endl<<endl; v1.pop_back();
cout<<"v1.pop_back()操作"<<endl;
cout<<"v1中元素的个数是: "<<v1.size()<<endl;
cout<<"v1容量是: "<<v1.capacity()<<endl;
cout<<"v1当前各项:"<<endl;
for(unsigned int i = ; i < v1.size(); i++){
cout<<" 第"<<i<<"项: "<<v1[i]<<endl;
}
cout<<endl<<endl; cout << "测试结束" << endl;
return ;
}

输出:

Vector 测试
v1容量:
v1当前各项:
第0项:
第1项:
第2项:
第3项:
第4项:
第5项:
第6项:
第7项:
v2容量:
v2当前各项:
第0项:
第1项:
第2项:
第3项:
第4项:
第5项:
第6项:
第7项:
typeid(size_t).name() = j
typeid(vector<int>::size_type).name() = j v1容量重新初始化为0
v1是空的
v1中元素的个数是:
v1容量是:
v1容量重新初始化为10
v1中元素的个数是:
v1容量是:
v1当前各项:
第0项:
第1项:
第2项:
第3项:
第4项:
第5项:
第6项:
第7项:
第8项:
第9项: v1与v2进行了swap操作
v1中元素的个数是:
v1容量是:
v1当前各项:
第0项:
第1项:
第2项:
第3项:
第4项:
第5项:
第6项:
第7项: v1.push_back()操作
v1中元素的个数是:
v1容量是:
v1当前各项:
第0项:
第1项:
第2项:
第3项:
第4项:
第5项:
第6项:
第7项:
第8项: v1.push_back()操作
v1中元素的个数是:
v1容量是:
v1当前各项:
第0项:
第1项:
第2项:
第3项:
第4项:
第5项:
第6项:
第7项: v1.pop_back()操作
v1中元素的个数是:
v1容量是:
v1当前各项:
第0项:
第1项:
第2项:
第3项:
第4项:
第5项:
第6项: 测试结束

C++ Vector实践的更多相关文章

  1. C++实践积累

    C++ STL vector 如何彻底清空一个vector? 实践证明,vector.clear()并不能把vector容量清空,只会让vector.size()变为零,依然很占内存.那如何让vect ...

  2. 关于QImage提取单色通道方法(vector)

    转载请标明处: 作者:微微苏荷 本文地址:关于QImage提取单色通道方法(vector) 近日,用QT和mxnet结合做一个图像识别的demo.遇到需要把图片从QImage转为vector单色分离的 ...

  3. [软件架构]模块化编程思想及(C++)实践

    Repost 内容简介: 模块化思想 模块的构成 模块的管理 模块化实践 定义模块结构 声明模块对象 定义模块列表 模块列表对象 模块化思想 1.     将系统分成很多的模块,模块内部关注自身需要实 ...

  4. Surface Normal Vector in OpenCascade

    Surface Normal Vector in OpenCascade eryar@163.com 摘要Abstract:表面上某一点的法向量(Normal Vector)指的是在该点处与表面垂直的 ...

  5. 向量时钟Vector Clock in Riak

    Riak 是以 Erlang 编写的一个高度可扩展的分布式数据存储,Riak的实现是基于Amazon的Dynamo论文,Riak的设计目标之一就是高可用.Riak支持多节点构建的系统,每次读写请求不需 ...

  6. 编程实践中C语言的一些常见细节

    对于C语言,不同的编译器采用了不同的实现,并且在不同平台上表现也不同.脱离具体环境探讨C的细节行为是没有意义的,以下是我所使用的环境,大部分内容都经过测试,且所有测试结果基于这个环境获得,为简化起见, ...

  7. 《C++编程规范:101条规则、准则与最佳实践》学习笔记

    转载:http://dsqiu.iteye.com/blog/1688217 组织和策略问题 0. 不要为小事斤斤计较.(或者说是:知道什么东西不需要标准化) 无需在多个项目或者整个公司范围内强制实施 ...

  8. java三篇博客转载 详解-vector,stack,queue,deque

    博客一:转载自http://shmilyaw-hotmail-com.iteye.com/blog/1825171 java stack的详细实现分析 简介 我们最常用的数据结构之一大概就是stack ...

  9. cocos基础教程(5)数据结构介绍之cocos2d::Vector

    cocos2d::Vector cocos2d::Vector<T>是一个封装好的能动态增长顺序访问的容器.cocos2d::Vector<T>中的元素是按序存取的,它的低层实 ...

随机推荐

  1. ueditor 后端配置项没有正常加载,上传插件不能正常使用 UTF8 PHP

    修改config.json 文件,用DW软件打开,修改好后,保存 若用记事本打开的话修改后保存,无法加载

  2. Delphi Button组件

  3. ansible常用模块详解(三)

    1.模块介绍 明确一点:模块的执行就类似是linux命令的一条命令,就单单的是为了执行一条语句,不是批量的操作,批量操作需要用到playbook内类似shell编写脚本进行批量. 1.1 模块的使用方 ...

  4. Linux内核链表深度分析

    链表简介:链表是一种常用的数据结构,它通过指针将一系列数据节点连接成一条数据链.相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入 ...

  5. 【转】Java对象初始化详解

    来源:MySun 链接:http://mysun.iteye.com/blog/1596959 在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的.本文试图对Jav ...

  6. kotlin高阶函数实战&DSL入门

    传统函数演示: 这里以电视节目“非诚勿扰”为例,男人去从一大堆美女当中挑选出自己中意的对象,比如台上有24位妹子,其档案如下: 接下来第一个男嘉宾出场啦,如下: 下面用代码来实现一下,比较简单: 先定 ...

  7. 【AGC006 C】Rabbit Exercise

    题意 有 \(n\) 只兔子在数轴上,第 \(i\) 只兔子的初始坐标为整数 \(x_i\). 现在这些兔子会按照下面的规则做体操.每一轮体操都由 \(m\) 次跳跃组成:在第 \(j\) 次跳跃时, ...

  8. STL源码阅读-functor与adapter

    为什么要用仿函数 函数指针不灵活,难以与STL其他组件配合使用 Adapter 将一个class的接口转换为另一个class的接口,使原本因接口不兼容而不能合作的classes,可以一起运作 STL中 ...

  9. python和CSV

    lines=[]; 表头数据 lines.append(list(retlist[0].keys())) 明细数据 for city in city_list: { lines.append(list ...

  10. 将TextEdit设置为密码框

    属性--Properties--UseSystemPasswordChar设置为true