实践如下:

#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. ThinkPHP5框架缺陷导致远程命令执行(POC整合帖)

    摘要 近日thinkphp团队发布了版本更新https://blog.thinkphp.cn/869075 ,其中修复了一处getshell漏洞. 影响范围 5.x < 5.1.31<= ...

  2. json串到java对象

    json串到java对象 前端传入参数json字符串,格式如下: {"语文":"88","数学":"78"," ...

  3. 免费使用Google

    这里需要借助一下`梯子`,这里有教程 点击进入 如果没有谷歌浏览器,进入下载最新版谷歌浏览器,进入下载,不要移动它的安装位置,选择默认位置, 如果已经安装了谷歌浏览器,打开赛风之后,选择设置 进行安装 ...

  4. Delphi 监视数据的值

  5. 4G漏洞

    4G VoLTE漏洞:可致用户地理位置和其它个人信息泄露 2017-08-05 LBS 首先要了解下,什么是VoLTE. VoLTE为英文Voice Over LTE的缩写,直译就是音频通过LTE网络 ...

  6. css文件分类

    简介 CSS(层叠样式表)是一门历史悠久的标记性语言,同 HTML 一道,被广泛应用于万维网(World Wide Web)中.HTML 主要负责文档结构的定义,CSS 负责文档表现形式或样式的定义. ...

  7. noip模拟总结

    先讲讲今天的比赛, T1: 看着很水,在草稿纸上画了一下,发现其实并不简单, 于是先去打第二题, 最后半个小时实在是一点头绪也没有, 打了个状压dp 70分(暴力分真多). T2: 把样例画出来模拟一 ...

  8. 【MongoDB系列】简介、安装、基本操作命令

    文章内容概述: 1.MongoDB介绍 2.MongoDB安装(windows及Linux) 3.MongoDB基本操作命令 MongoDB介绍: MongoDB 是一个基于分布式文件存储的数据库.由 ...

  9. Python3数据结构汇总

    字符 列表 元组 集合 字典 能否被索引或切片 能 能 能 否 否 元素能否被编辑 否 能 否 能 能 增 1.list.append(x):把一个元素添加到列表的结尾: 2.list.insert( ...

  10. 如何让一个sprite绕一个点旋转,同时又可以实现指定旋转角度并慢慢停下的效果

    如何让一个sprite绕一个点旋转,同时又可以实现指定旋转角度并慢慢停下的效果 首先列出sprite围绕一个点旋转的公式,这个可以自己推导,假设sprite的起始位置为(x1,y1),围绕旋转的中心点 ...