C++ STL中vector的用法
程序员文章站
2022-03-22 21:36:52
...
使用vector构造一个动态数组
vector<T> vec
。这样就定义好了定义了一个名为vec
的储存T
类型数据的动态数组。其中T
是我们数组要储存的数据类型,可以是int
、float
、double
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。
上面用构造函数的写法和用循环是等价的,通过合理的使用构造函数,可以减少代码量。
上一篇: STL 中类vector的成员函数
下一篇: STL中vector的用法