vector

c++的vector的使用方法,创建,初始化,插入,删除等。

#include "ex_vector.h"

#include <iostream>
#include <vector>
#include <string>
using namespace std; void ex_vector01_main()
{ //#######################################################################################
//初始化vector的方法
vector<int> v1; //v1是一个空vector,它的潜在元素是int类型的,执行默认初始化
vector<int> v2(v1); //v2包含v1所有元素的副本
//这里尝试先给v1添加元素,后看看v2是什么情况
vector<int> v22 = v1; //等价于v2(v1),v2包含v1所有元素的副本
vector<float> v3(10, 11.0); //v3包含10个重复的元素,每个元素的值都是11
vector<int> v4(10); //v4包含了10个重复执行了值初始化的对象
vector<string> v5{ "a","b","cc","d" }; //v5包含了4个元素
vector<string> v55 = { "a","b","cc","d" }; //等价于v5{ "a","b","cc","d" }; //#######################################################################################
//初始化使用圆括号和花括号的区别
//使用圆括号是,提供的值是用来构造vector对象的
//使用花括号是,想用列表初始化vector对象的,初始化过程会尽可能的把花括号内的值当做是元素的初始
// 值的列表来处理,只有在无法执行列表初始化的时候才会尽可能的考虑其他初始化的方式
vector<int> va1(10); //va1有10个元素,每个值都是0
vector<int> va2{ 10 }; //va2有1个元素,该元素的值是10 vector<int> va3(10, 1); //va3有10个元素,每个的值都是1
vector<int> va4{ 10,1 };//va4有两个元素,值分别是10,1 vector<string> va5{ "hi" }; //列表初始化:va5有一个元素
//vector<string> va6("hi"); //错误,不能使用字符串字面值构建vector对象
//这种就是不使用花括号内的值来初始化对象
vector<string> va7{ 10 }; //va7有10个默认初始化的元素
vector<string> va8{ 10,"hi" }; //va8有10个值为"hi"的元素 //#######################################################################################
//向vector中添加元素
//最常见的一种方式就是先定义一个空的vector,然后当运行时在逐一添加。
vector<int> vb1(2, 100);
for (int i = 0; i < 10; i++)
{
vb1.push_back(i);//依次把整数数值添加到vb2的末尾
} if (vb1.empty())
{
cout << "vb1 is empty" << endl;
}
else
{
cout << "第一种循环方法:"<<endl;
cout << "vb1 have " << vb1.size() << " elements" << endl;
for (int i = 0; i < 10; i++)
{
cout << vb1[i] << ", ";
}
cout<<endl;
cout << "第二种循环方法:"<<endl;
for(int &i:vb1)
cout<<i<<", ";
cout<<endl;
for(auto &i:vb1)
cout<<i<<", ";
cout<<endl;
} }

更多内容详见我的个人主页:

国内主页

国外主页

C++的vector的使用方法的更多相关文章

  1. C++-二维vector初始化大小方法-备忘

    来源: C++——二维vector初始化大小方法 1.直接用初始化方法 名字为vec,大小为n*m,初始值为0的二维vector. vector<vector<)); 2.用resize( ...

  2. 实战c++中的vector系列--再谈vector的insert()方法(都是make_move_iterator惹的祸)

    之前说过了关于vector的insert()方法,把vector B的元素插入到vector A中.vector A中的结果我们可想而知,可是vector B中的元素还会怎样? 看看之前写过的程序: ...

  3. Java集合系列(二):ArrayList、LinkedList、Vector的使用方法及区别

    本篇博客主要讲解List接口的三个实现类ArrayList.LinkedList.Vector的使用方法以及三者之间的区别. 1. ArrayList使用 ArrayList是List接口最常用的实现 ...

  4. vector 初始化所有方法

    简介:vector可用于代替C中的数组,或者MFC中的CArray,从许多说明文档或者网上评论,一般一致认为应该多用vector,因为它的效率更高,而且具备很好的异常安全性.而且vector是STL推 ...

  5. vector数据查找方法

    用STL编敲代码时常常使用vector容器来存储数据.当容器中的数据有序时我们能够採取两种方式: (1) 利用<algorithm>中的find函数进行查找: (2) 折半查找. 另外也能 ...

  6. c++ vector(向量)使用方法详解(顺序访问vector的多种方式)

    来源:http://www.jb51.net/article/44231.htm 作者: 字体:[增加 减小] 类型:转载 时间:2013-12-08我要评论 vector是向量类型,它可以容纳许多类 ...

  7. C++ 中vector的使用方法(转)

    原地址:http://blog.csdn.net/duan19920101/article/details/50617190/ 在c++中,vector是一个十分有用的容器. 作用:它能够像容器一样存 ...

  8. C++——二维vector初始化大小方法

    初始化二维vector,为r*c的vector,所有值为0.1.直接用初始化方法(刚开始没想到) vector<vector<int> > newOne(r, vector&l ...

  9. C++关于容器vector的使用方法以及#ifdef #else #endif #if #ifndef 的使用

    //此处根据0还是1来判断具体使用那一段主函数 #if 1 #define WAY #endif #ifdef WAY #include <iostream> #include<st ...

随机推荐

  1. 入门大数据---Kafka深入理解分区副本机制

    一.Kafka集群 Kafka 使用 Zookeeper 来维护集群成员 (brokers) 的信息.每个 broker 都有一个唯一标识 broker.id,用于标识自己在集群中的身份,可以在配置文 ...

  2. python 给视频添加马赛克

    用法: 1. 创建空文件夹:imgs 2. 将倒数第三行中的"222056.mov"改为你的视频路径,如:"a.mov" 3. 运行以下代码 4. 稍等片刻,鼠 ...

  3. 源码剖析@contextlib.contextmanager

    示例 @contextlib.contextmanager def result(a): print('before') yield print('after') 外层装饰源码 包装func函数,真实 ...

  4. 【部分】Asp.Net Mvc 控制器与视图的数据传递

    原文:https://www.cnblogs.com/lsgsanxiao/p/5105639.html 数据传递也就是控制器和视图之间的交互,比如在视图中提交的数据,在控制器怎么获取,或者控制器从业 ...

  5. JSOI2016 病毒感染(动态规划)

    题目传送门:洛谷P5774 思路来源:郭大佬(我就是凑不要脸的白嫖党 : P) 题目分析: 我们一点点来分析这道题: 起点固定为1号,所有村庄是按线性排列的,而不是图,所以我们应该用线性DP(废话 ) ...

  6. 传递 HDU - 5961 题解

    题目传送门 分析 题目大意:给一个竞赛图,将图分成两部分,判断两部分的图是否符合传递闭包,a->b,b->c,则a->c 这道题用Floyd硬跑的显然n\({^3}\)会T 如果用b ...

  7. 深克隆(deepclone)

    1.简单版: <script type="text/javascript"> const newObj = JSON.parse(JSON.stringify(oldO ...

  8. Django13 /缓存、信号、django的读写分离

    Django13 /缓存.信号.django的读写分离 目录 Django13 /缓存.信号.django的读写分离 1. 缓存 2. 信号 3. django的读写分离 1. 缓存 缓存简述: 缓存 ...

  9. 拦截器(Interceptor)中的invocation.invoke()是什么意思?

    拦截器(Interceptor)中的invocation.invoke()是什么意思? 最佳答案: invocation.invoke() 就是通知struts2接着干下面的事情 比如 调用下一个拦截 ...

  10. Python3 迭代器深入解析

    第6章 函数 6.1 函数的定义和调用 6.2 参数传递 6.3 函数返回值 6.4 变量作用域 6.5 匿名函数(lambda) 6.6 递归函数 6.7 迭代器 6.8 生成器 6.9 装饰器 6 ...