C++ vector对象的学习与整理
来源:互联网 发布:万网域名信息查询 编辑:程序博客网 时间:2024/04/29 07:18
标准库类型vector | 基本操作
写在前面:vector对象相对数组来说,用起来比较方便也很实用。数组需要提前确定范围,作为容器的vector就很方便,并且有更多实用性的操作。复习一下这块内容,也是很有帮助的。
定义与初始化vector
vector不是一个类型而是一个模板,因而可以随意使用任意类型的vector。
只需要引入头文件vector就能使用,先记录一些常用的操作。
vector<int> ivec; //ivec保存int类型对象 vector<vector<string>> file; vector<int> v1; //V1空vector,潜在元素是int类型 vector<int> v2(v1); //V1拷贝到V2 vector<int> v3(10, -1); //N个val vector<int> v4(10); //初始化10个元素,其值为0 vector<int> v5{ 10 }; //初始化1个元素,其值为10
构造还是初始化
有时候,我们需要提前初始化一个vector对象,但是不同类型的元素通常有不同的操作。此处也有一些例子:
//简单记,使用括号表示构造vector;而花括号表示初始化vector。 //如果是string类型的vector,使用花括号相当于构造vector对象 vector<string> v8{ 10,"hi" }; //如果是带了引号,就是初始化 vector<string> v9{ "10","hi" };
比较有意思的是,一般花括号是用于初始化vector对象的,就像数组一样;也有例外情况,不过也特别容易理解。当元素类型是string的时候,使用花括号初始化的字面值是要带双引号的,如果没有遇到双引号的数字,那么就表示构造了。
向vector对象添加元素
既然说到vector和数组有比较相似的地方,那么添加元素也是差不多的。可以使用循环,像数组一样一个一个的添加元素。
//向vector添加元素 for (int i = 0; i < 100; i++) { v1.push_back(i); }
当然,也可以使用函数,在元素后面继续添加元素。
vector<string> text; string word = "haha"; text.push_back(word);
其他的vector操作
C++中封装了很多函数,我们可以使用这些函数方便的操作vector对象。列出一些其他常用的操作。
//其他的vector操作 v.begin(); //vector首元素 v.end(); //vector莫 v.empty(); //判断元素是否为空 v.size(); //返回vector的长度 v.push_back(10); v[10];
参考书目《C++ Primer 5th》
1 0
- C++ vector对象的学习与整理
- vector相关的学习整理
- C++ string对象的学习与整理
- [C++] Vector对象的合法定义
- c++vector对象初始化
- 返回vector对象与引用的区别
- C语言的学习整理
- C++vector学习笔记
- c++vector学习
- stl vector的学习与总结
- C++vector对象转数组
- 【足迹C++primer】27、vector对象是如何增长的
- const_vector与const 的vector对象的区别
- vector对象的操作
- vector对象的初始化
- 顺序容器vector的整理
- int 型数组与vector对象之间的相互转化
- 『C++ Primer学习笔记』Chapter 3——string对象、vector对象以及数组的配套类型,C风格字符串问题和处理区别
- Java并发——volatile
- Java空字符串与null区别
- python搭建
- PowerDesigner 设置Table表的颜色(例如:PK(主键),FK(外键),字体大小等)
- 大数据学习——Sqoop入门使用
- C++ vector对象的学习与整理
- jvm运行机制
- Android studio快速取得app的SHA1值
- struts2中constant参数设置
- JavaScript中的变量声明
- git 总结
- 2017年2月大数据精华文章集锦
- 【学习Android NDK开发】native code通过JNI调用Java方法
- tensorflow13《TensorFlow实战Google深度学习框架》笔记-06-02mnist LeNet5卷积神经网络 code