实践如下:

#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. 第二十篇 jQuery 初步学习2

    jQuery 初步学习2   前言:   老师这里啰嗦一下,因为考虑到一些同学,不太了解WEB前端这门语言.老师就简单的说一下,写前端,需要什么:一台笔记本.一个文本编辑器.就没啦!当然,写这门语言, ...

  2. Java构造二叉树、树形结构先序遍历、中序遍历、后序遍历

    package com.example.demo; public class BTree { public int data; public BTree left; public BTree rigt ...

  3. Navicat连接Mysql11.1.13出现1251错误

    打开Navicat软件,单击左上角[连接]按钮,选择mysql,弹出新建连接,输入相关信息,单击[连接测试],报1251的错误,如下图所示: 根因分析: mysql8 之前的版本中加密规则是mysql ...

  4. 网络初级篇之网络设备的FTP(原理与实验)

    一.什么是FTP    FTP就是文件传输协议.用于互联网双向传输.二.FTP的作用    控制文件下载空间在服务器复制文件从本地计算机或本地上传文件复制到服务器上的空间,主要的作用就是文件的传输,保 ...

  5. linux ftp 添加用户及权限管理

    Linux下创建用户是很easy的事情了,只不过不经常去做这些操作,时间久了就容易忘记,顺便配置一下FTP.声明:使用Linux版本release 5.6,并以超级管理员root身份运行. 1.创建用 ...

  6. 第二章 Vue快速入门-- 24 过滤器-Vue中全局过滤器的基本使用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  7. gson转换问题

    list集合中integer问题 List<Integer> lists= gson.fromJson(params.get("lists"), new TypeTok ...

  8. GCD实战之多个网络请求的并发

    // 创建信号量 dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); // 创建全局并行 dispatch_queue_t q ...

  9. 如何使用git回退部分修改(转)

    如何使用git回退部分修改(转)     很多时候,git新手容易误操作,比如,在levelIISZ-1.4.dev分支下,运行了git pull idc cpp-1.0的结果,这样做麻烦很大,经常导 ...

  10. python基础(变量、基础数据类型、流程控制)

    今日内容html {overflow-x: initial !important;}:root { --bg-color:#ffffff; --text-color:#333333; --select ...