C++ STL编程-vector概念、对象创建
vector 概念:是常见的一种容器,被称为“柔性数组”。
在vector中,front()是数组中的第一个元素,back()是数组的最后一个元素。begin()是是指向第一个元素,end()是指向back()的后一个元素
vector的对象创建,代码见下
#include <iostream>
#include <vector>
using namespace std;void printVector(vector<int>& v) {for (vector<int>::iterator iter = v.begin(); iter != v.end(); iter++) {cout << *iter << endl;}cout << endl;
}int main() {// 1 默认构造函数vector<int> v1;printVector(v1);// 2 初始化列表vector<int> v2_1 = { 9, 8, 7, 6, 5 };cout << "v2_1:";printVector(v2_1);vector<int> v2_2({ 9, 8, 7, 6,5 });cout << "v2_2";printVector(v2_2);// 3 迭代器的方式vector<int> v3(v2_1.begin(), v2_1.end());cout << "v3";printVector(v3);// 4 全0初始化vector<int> v4(8);cout << "v4:";printVector(v4);// 5 vector<int> 变量名(a, b),代表申请a个空间,值初始化为bvector<int> v5(8, 6);cout << "v5:";printVector(v5);// 6 拷贝构造函数vector<int> v6(v2_2);cout << "v6:";printVector(v6);return 0;
}
vector的赋值操作,代码见下
#include <iostream>
#include <vector>
using namespace std;void printVector(vector<int>& v) {for (vector<int>::iterator iter = v.begin(); iter != v.end(); iter++) {cout << *iter << ' ';}cout << endl;
}int main() {vector<int> v = { 9, 8, 5, 2, 1, 1 };cout << "v:";printVector(v);// 1 赋值vector<int> v1 = v;cout << "v1:";printVector(v1);// 2 assignvector<int> v2;v2.assign(v1.begin(), v1.end());cout << "v2:";printVector(v2);return 0;// 3 初始化列表vector<int> v3;v3.assign({ 1, 2, 3, 4, 5, 6 });cout << "v3:";printVector(v3);// 4 a个bvector<int> v4;v4.assign(8, 6);cout << "v4:";printVector(v4);
}