实践如下:

#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. window.prompt()和 window.confirm()选择

    代码截图: 效果:  代码截图: 效果:

  2. C语言的unsigned做双目运算符的奇怪问题

    首先看代码: #include <stdio.h> void main() { ; unsigned ; ) { printf("%d-%d=%d,大于0", num1 ...

  3. 数据库 (二):MySQL密码策略与用户管理

    为了加强安全性,MySQL5.7为root用户随机生成了一个密码可通过# grep "password" /var/log/mysqld.log 命令获取MySQL的临时密码用该密 ...

  4. Delphi Form组件

  5. 20、Nginx高可用架构

    1.Keepalived高可用基本概述 1.1.什么是高可用 一般是指2台机器启动着相同的业务系统,当有一台机器down机了, 另外一台服务器能快速的接管, 对于访问的用户是无感知的. 1.2.高可用 ...

  6. Linux SUID SGID SBIT 简介和权限设定

    SUID :Set UID 1 SUID 权限仅对二进制程序(binary program)有效 2 执行者对于该程序需要具有x的可执行权限 3 本权限仅在执行该程序的过程中有效(run-time) ...

  7. PAT Basic 1010 一元多项式求导 (25 分)

    给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母(大小 ...

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

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

  9. 将UTC日期字符串转为本地时间字符串,如@"yyyy-MM-dd'T'HH:mm:ssZ"转换为本地时间

    由于苹果商店上线应用24小时内会不稳定,更新提醒可能会陷入死循环,更新提醒需要24小时后弹出,需要把苹果返回的上线时间转换为本地时间故写了下边的方法: //将UTC日期字符串转为本地时间字符串//输入 ...

  10. sql语言积累

    Persons 表: Id LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fifth ...