Vector简介
vector是定义在C++标准模板库,它是一个多功能、能够操作多种数据结构和算法的模板类(关于模板类我们后面会介绍,如何创建自己的模板类)。vector是一个容器,能够像容器一样存放各种类型的对象。vector是一个能够存放任意类型的动态数组,能够增加和删除元素,可以完全替代C语言风格的动态数组,由于vector能够自动的管理内存,我们不需要考虑内存的增长和释放、具有很好的安全性。
定义和初始化vector对象
1.包含头文件 ,使用命名空间
#include
using namespace std;
2.定义和声明vector对象
vectorv1; //T是一种数据类型,系统定义的或者你自己定义的类,但是不能是引用,T类型的,但是没有元素
vectorv2(v1); //v1与v2必须是同类型,等同于赋值运算符,两个变量的元素一样
vectorv2 = v1; //同上
vectorv3(n, value) //n个重复元素 ,每个元素值都是value
vectorv4(n) //n个对象,对象的值根据类型不同而不同,自动初始化,如果是int类型,就被初始化为0;如果是字符串,就被初始化为空的字符串
如下声明和定义都是正确的:
向vector添加元素和删除元素
push_back(value); //在最后面添加一个元素
pop_back(value); //将最后面的元素删除,不会返回元素的值
对vector中的元素进行访问
V1[n]; //下标访问法,0~n~size-1
V1.at[n]; //下标访问法,0~n~size-1,使用at访问更加安全一些,因为at访问的时候将在运行期间检查非法的索引,这种检查的代价是运行时间更长
front(); //返回最前面的一个元素
back(); //返回最后面的一个元素
其他vector操作
Size() // 返回数组的长度
empty() // 判断数组是否为空
== //判断相等
比较运算符:>= <=
vector的实例
文本编辑器:输入的每一行数据,输出与的时候每一行显示行号,数据,字符数。
测试代码如下:
运行结果如下:声明了一个string类型的数组,存储所有的字符串。利用两个临时变量s,一个存储,一个读出数据并计算字符串的长度。这里的字符串是没有换行符的。
原文链接:http://www.maiziedu.com/wiki/cplus/vector/
C++标准库vector类型详解的更多相关文章
-
c/c++ 标准库 插入迭代器 详解
标准库 插入迭代器 详解 插入迭代器作用:copy等函数不能改变容器的大小,所以有时copy先容器是个空的容器,如果不使用插入迭代器,是无法使用copy等函数的. 例如下面的代码就是错误的: list ...
-
c/c++ 标准库 bind 函数 详解
标准库 bind 函数 详解 bind函数:接收一个函数名作为参数,生成一个新的函数. auto newCallable = bind(callbale, arg_list); arg_list中的参 ...
-
C++标准库vector类型的使用和操作总结
vector是一种类型对象的集合,它是一种顺序容器,容器中的所有对象必须都是同一种类型.想了解顺序容器的更多内容:C++顺序容器知识总结.vector的对象是可以动态生长的,这说明它在初始化时可以不用 ...
-
C++的iostream标准库介绍+使用详解(转)
0 为什么需要iostream 我们从一开始就一直在利用C++的输入输出在做着各种练习,输入输出是由iostream库提供的,所以讨论此标准库是有必要的,它与C语言的 stdio库不同,它从一开始就是 ...
-
标准库bufio个人详解
本文是我有通俗的语言写的如果有误请指出. 先看bufio官方文档 https://studygolang.com/pkgdoc文档地址 主要分三部分Reader.Writer.Scanner 分别是读 ...
-
把《c++ primer》读薄(3-2 标准库vector容器+迭代器初探)
督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. 标准库vector类型初探,同一种类型的对象的集合(类似数组),是一个类模版而不是数据类型,学名容器,负责管理 和 存储的元素 ...
-
C++11 并发指南六( <;atomic>; 类型详解二 std::atomic )
C++11 并发指南六(atomic 类型详解一 atomic_flag 介绍) 一文介绍了 C++11 中最简单的原子类型 std::atomic_flag,但是 std::atomic_flag ...
-
C++11 并发指南六(atomic 类型详解三 std::atomic (续))
C++11 并发指南六( <atomic> 类型详解二 std::atomic ) 介绍了基本的原子类型 std::atomic 的用法,本节我会给大家介绍C++11 标准库中的 std: ...
-
C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解
前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.之前分享过一篇 C#进阶系列——WebApi接口传参不再困惑:传参详解 ...
随机推荐
-
js定义对象的几种容易犯的错误
//js定义对象的几种容易犯的错误function Person() { getName = function (){ console.info(1); }; return this;}//Perso ...
-
神奇的decimal,也许面试会问到哦~
这段时间忙的像狗一样,写博客的事情也就耽搁了,继续扯,为什么说decimal神奇呢,大家都知道decimal是基元类型,但是 这个decimal类型在IL中居然没有相应的IL指令,也就是说CLR根本不 ...
-
C# 6和 VB 12的最新特性列表
随着下个版本的C#发布日逐渐临近,那些还没有完成的特性必须被砍掉.最近从特性列表中被砍掉的特性包括主要构造函数(primary constructor)和声明表达式(declaration expre ...
-
google base库中的WaitableEvent
这个类说白了就是对windows event的封装,没有什么特别的,常规做法,等侍另一线程无非就是等侍事件置信waitsingleobject,通知事件无非就是setevent,一看就明白,不就详解, ...
-
SQLite For .Net 已经整合了32位和64位
以前引用SQLite.DLL的时候,如果是winform等桌面程序,还要分32位和64位不一样的DLL,但最近已经整合为一个包了 打开vs的程序包管理器控制器,输入: install-package ...
-
关联分析中寻找频繁项集的FP-growth方法
关联分析是数据挖掘中常用的分析方法.一个常见的需求比如说寻找出经常一起出现的项目集合. 引入一个定义,项集的支持度(support),是指所有包含这个项集的集合在所有数据集中出现的比例. 规定一个最小 ...
-
Cesium 之简介以及离线部署运行篇
前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. C ...
-
linux问题集
Too many authentication failures for root (code 2) 原因:服务器可能由于装了一下安全软件导致有时用ssh远程工具登陆不了,提示太多认证失败for ro ...
-
Unity 小知识
1.如何使物体颜色成2D效果 点开材质球的Shader属性,选择Unlit/Color 2.画布属性中的UI Scale Mode中可以设为 S W S S,这样屏幕大小缩放时,画布内的物体大小随之缩 ...
-
字符串的比较【string和字符数组】
无论是string 还是 字符数组的字符串比较函数,返回的都是字典序的大小.如 1234 和 5 比较时就是1234的字典序小于5,要想比较字符串表示的数字的大小,需要自己写函数比较