C++的vector的使用方法
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的使用方法的更多相关文章
- C++-二维vector初始化大小方法-备忘
来源: C++——二维vector初始化大小方法 1.直接用初始化方法 名字为vec,大小为n*m,初始值为0的二维vector. vector<vector<)); 2.用resize( ...
- 实战c++中的vector系列--再谈vector的insert()方法(都是make_move_iterator惹的祸)
之前说过了关于vector的insert()方法,把vector B的元素插入到vector A中.vector A中的结果我们可想而知,可是vector B中的元素还会怎样? 看看之前写过的程序: ...
- Java集合系列(二):ArrayList、LinkedList、Vector的使用方法及区别
本篇博客主要讲解List接口的三个实现类ArrayList.LinkedList.Vector的使用方法以及三者之间的区别. 1. ArrayList使用 ArrayList是List接口最常用的实现 ...
- vector 初始化所有方法
简介:vector可用于代替C中的数组,或者MFC中的CArray,从许多说明文档或者网上评论,一般一致认为应该多用vector,因为它的效率更高,而且具备很好的异常安全性.而且vector是STL推 ...
- vector数据查找方法
用STL编敲代码时常常使用vector容器来存储数据.当容器中的数据有序时我们能够採取两种方式: (1) 利用<algorithm>中的find函数进行查找: (2) 折半查找. 另外也能 ...
- c++ vector(向量)使用方法详解(顺序访问vector的多种方式)
来源:http://www.jb51.net/article/44231.htm 作者: 字体:[增加 减小] 类型:转载 时间:2013-12-08我要评论 vector是向量类型,它可以容纳许多类 ...
- C++ 中vector的使用方法(转)
原地址:http://blog.csdn.net/duan19920101/article/details/50617190/ 在c++中,vector是一个十分有用的容器. 作用:它能够像容器一样存 ...
- C++——二维vector初始化大小方法
初始化二维vector,为r*c的vector,所有值为0.1.直接用初始化方法(刚开始没想到) vector<vector<int> > newOne(r, vector&l ...
- C++关于容器vector的使用方法以及#ifdef #else #endif #if #ifndef 的使用
//此处根据0还是1来判断具体使用那一段主函数 #if 1 #define WAY #endif #ifdef WAY #include <iostream> #include<st ...
随机推荐
- 【部分】ASP.NET MVC的Controller接收输入详解
原文:https://blog.csdn.net/lxrj2008/article/details/79455360 ASP.NET mvc的Controller要正确的响应用户发出的请求就要获取到用 ...
- 10w行级别数据的Excel导入优化记录
需求说明 项目中有一个 Excel 导入的需求:缴费记录导入 由实施 / 用户 将别的系统的数据填入我们系统中的 Excel 模板,应用将文件内容读取.校对.转换之后产生欠费数据.票据.票据详情并存储 ...
- 113资讯网——NGINX 502 Bad Gateway——解决方案
NGINX 502 Bad Gateway错误出现的原因较多,对于后端连接PHP服务的场景下,常见的原因有php服务响应超时,php进程不足等引起的一类服务器错误. 发生原因: PHP FastCGI ...
- CentOS 关闭暂不需要的系统服务
需要保留的服务:crond.iptables.irqbalance.microcode_ctl.network.random.sshd.syslog.local 一 .使用命令:ntsysv 打开选项 ...
- 数据的编码和解码--java例子
昨天借了一本<网络程序设计实验教程(java语言)>,然后看了第一章,一个Swing例子,于是为大家分享一下! 关于数据的编码与解码,我觉得就例子而言已经交待得非常清楚了,两种方法做的. ...
- CSS技术让高度自适应减少很多不必要的检测
高度自适应第一种情况 1.高度不去设置,或者高度设置auto 内容撑开父元素的高度.2.内容撑开父元素的高度 -> 最小高度的设置 min-height3.浮动元素添加高度自适应 -> 添 ...
- 04-springboot整合elasticsearch初识-简单增删改查及复杂排序,分页,聚合操作
前面大概了解了一下elasticsearch的数据存储和数据的查询.现在学习一下,es的复杂操作. 官网相关文档地址:https://www.elastic.co/guide/en/e ...
- Mac OS下安装mysqlclient遇到的一些坑
在玩django的同时,必须需要mysqlclient和pillow包,想在本地Mac上装上mysqlclient,但着实遇到不少坑,最终还是在github issue中找到了解决方法,这里记录一下, ...
- 清空网站浏览记录就行啦?看Python如何实时监控网站浏览记录
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 需求: (1) 获取你对象chrome前一天的浏览记录中的所有网址(url ...
- day06总结
字符串常用操作# ======================================基本使用======================================# 1.用途:记录描述 ...