欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C++ STL中vector的用法

程序员文章站 2022-03-22 21:36:52
...

使用vector构造一个动态数组

vector<T> vec。这样就定义好了定义了一个名为vec的储存T类型数据的动态数组。其中T是我们数组要储存的数据类型,可以是intfloatdouble

 

C++ vector方法总结:

方法 功能
push_back 在末尾加入一个元素
pop_back 在末尾弹出一个元素
size 获取长度
clear 清空

 


vector的高级用法

 

动态数组不仅仅可以储存基本的数据类型,还能储存自定义数据类型,比如结构体。


struct Student {
string name; // 名字
int age; // 年龄
};

int main() {
	vector<Student> class1; // 班级
 	Student stu1, stu2;// 学生1,学生2
 	stu1.name = "xiaoli";
 	stu1.age = 12;
	stu2.name = "jinxin";
	stu2.age = 25;
	class1.push_back(stu1);
	class1.push_back(stu2);
	return 0;
}

 


使用vector的构造函数

我们知道可以通过push_back()来向动态数组添加一个元素。如果我们需要一个长度为 n 的,全是 1 的动态数组。我们可以像下面这样写。

 

int n = 10;
vector<int> vec;
for (int i = 0; i < n; i++) {
    vec.push_back(1);
}

其实,我们可以通过一个构造函数快速构建这样的一个动态数组

 

int n = 10;
vector<int> vec(n, 1);

 

上面的代码,我们在定义一个vector的时候,调用构造函数,第一个参数表示初始的动态数组的长度,第二个参数表示初始的数组里面每个元素的值。如果不传入第二个参数,那么初始的值都是 0。

上面用构造函数的写法和用循环是等价的,通过合理的使用构造函数,可以减少代码量。