C++ STL容器vector篇(二) vector容器的构造函数与赋值操作
构造函数
构造函数的调用有四种方式:
- 默认构造函数(无参构造);
- 左闭右开区间元素拷贝给容器本身;
- 构造函数将n个elem拷贝给容器本身;
- 拷贝构造函数
代码如下:
#include <iostream>
#include <vector>using namespace std;void printV(vector<int> &v)
{for (vector<int>::iterator it = v.begin(); it < v.end(); ++it){cout<<*it<<" ";}cout<<endl;
}void test1()
{// 1. 默认构造函数(无参构造)vector<int> v1;for (int i = 0;i<5;i++){v1.push_back(i*2+1);}printV(v1);// 1 3 5 7 9 // 2. 左闭右开区间元素拷贝给容器本身vector<int> v2(v1.begin()+1, v1.end()-1);printV(v2);// 3 5 7 // 3. 构造函数将n个elem拷贝给容器本身vector<int> v3(10, 2);printV(v3);// 2 2 2 2 2 2 2 2 2 2 // 4. 拷贝构造函数vector<int> v4(v2);printV(v4);// 3 5 7
}int main(int argc, char const *argv[])
{test1();return 0;
}
赋值操作
vector数组赋值主要采用的方式是assign()
函数,
#include <iostream>
#include <vector>using namespace std;void printV(vector<int> &v)
{for (vector<int>::iterator it = v.begin(); it < v.end(); ++it){cout << *it << " ";}cout << endl;
}void test1()
{vector<int> v1;for (int i = 0; i < 5; i++){v1.push_back(i * 2 + 1);}printV(v1);// 1 3 5 7 9 // 1. 直接赋值vector<int> v2;v2 = v1;printV(v2);// 1 3 5 7 9 // 2. assign()函数赋值, 左闭右开区间vector<int> v3;v3.assign(v1.begin() + 2, v1.end());printV(v3);// 5 7 9 // 3. n个elem, assign()函数的重载版本vector<int> v4;v4.assign(20, 3);printV(v4);// 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
}int main(int argc, char const *argv[])
{test1();return 0;
}
C++ STL容器vector篇(二) vector容器的构造函数与赋值操作相关推荐
- 【STL】string详解(string类常用的操作函数、构造函数、赋值操作、子符串的拼接、查找和替换、比较、存取、插入和删除、获取)
目录 1. string容器 简介 2. string类常用的操作函数 3. 构造函数 4. 赋值操作 5. 字符串拼接 6. 字符串查找和替换 7. 字符串比较 8. 字符串存取 9. 字符串插入和 ...
- Docker容器虚拟化(二)—容器管理、仓库管理、数据管理
2019独角兽企业重金招聘Python工程师标准>>> Docker 容器管理 启动一个容器: [root@study ~]# docker run -it centos-7-x86 ...
- C++ STL容器vector篇(五) vector容器常用初始化操作总结(一维/二维)
`vector`初始化方法 一维向量 二维向量 参考 vector初始化方法 一维向量 #include <iostream> #include <vector>using n ...
- C++ STL容器vector篇(一) vector容器存放内置和自定义数据类型并遍历
写在前面 存放内置数据类型 代码 存放自定义数据类型 代码 总结 写在前面 本文算是B站黑马C++课程STL-vector部分的一个总结, 包含自己的一些想法(都在代码里了). 存放内置数据类型 以i ...
- C++ STL容器vector篇(三) vector容器大小和数组大小, 插入和删除元素, 存储和读取元素
vector容器的大小(capacity)和存放数据的大小(size) #include <iostream> #include <vector>using namespace ...
- C++ STL容器vector篇(四) vector容器交换, 预留空间
交换数组 作用: 在数组的内存分配过大时采用swap()函数可以回收被过多分配的空间, 减少内存占用 #include <iostream> #include <vector> ...
- 什么是vector C++学习vector浅析
vector浅析 一.什么是vector? 二.容器特性 1.顺序序列 2.动态数组 3.动态处理内存需求 三.基本函数实现 1.构造函数 2.增加函数 4.遍历函数 5.判断函数 6.大小函数 7. ...
- 【C++ STL学习之二】容器vector大总结
一.容器vector 使用vector必须包含头文件<vector>: #include<vector> 型别vector是一个定义于namespace std内的templa ...
- STL容器板子(vector篇)
一.STL的诞生 (1)长久以来,软件界一直希望建立一种可重复利用的东西 (2)C++的面向对象和泛型编程思想,日的就是复用性的提升 (3)大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量 ...
最新文章
- php企业网站源码安装教程,PHPSCUP企业建站系统v1.4 安装图文教程
- C++中随机函数rand()和srand()的用法
- HashSet与HashMap源代码深度剖析
- ❤️六W字《计算机基础知识》(三)(建议收藏)❤️
- Android基础知识点的整理3
- Latex——伪代码算法
- Python学习笔记(十三)文件操作函数
- 计算机代码大全喜欢你,微信示爱代码大全 七夕情人节微信翻译表白代码2021
- 在GIS中如何绘制胡焕庸线
- 三种方法,让WPF项目生成单文件
- 金彩教育:详情页产品描述怎么写
- Mysql中使用逗号隔开多张表生成的表实例
- 外媒所言非虚,苹果降价或许是真的在清库存
- 共享服务器与独立服务器的区别是什么?
- GEE学习:查询遥感影像空间分辨率
- Redis6客户端工具——Jedis
- 【密码学基础】07 分组加密工作模式
- Unity3d 改变场景中钢体对象重力(Physics和Physics 2D)大小方向设置
- html li内部水平排列,怎样使用li进行水平排列
- 2012-04-28
热门文章
- golang xorm框架对应pg数据库字段类型参照表
- Unity3d Shader开发(三)Pass(Fog )
- 泡泡提示加强版 完美支持XHTML(JavaScript)--zhuan
- python读取txt文件的前几行
- leetcode 190 python
- linux下./xx做了什么?
- java安卓图片全屏_在Android中全屏显示GIF图片(演示代码)
- 字符串——垂直柱状图(洛谷 P1598)
- 强势回归丨2021数据库大咖讲坛(第1期):数据库高可用容灾方案的实践与探索
- 遇见 | 大咖:对话Oracle北美数据库研发领袖,你来不来?