【共读Primer】16.[3.3] 标准库类型Vector Page86
vector 模版类型,用来保存任意类型,所以又称为容器。
一 定义和初始化
(1)默认初始化,长度为空
vector<T> v1; // 空初始化
(2)列表初始化vector [C++11]
vector<string> v1{"a", "an", "the"};
(3)值初始化
vector<int> ivec(10, -1); vector<string> svec(10, "hi!");
二 Vector的常用操作
(1) 增加元素
string word; cin >> word; svec.push_back(word);
(2)下标操作
vector<int> v{1,2,3,4,5,6,7,8,9}; for (int i = 0; i < v.length(); ++i) cout << v[i] << " "; cout << endl;
本章内容代码汇总
#include <iostream> #include <vector> using std::vector; using std::cout; using std::cin; using std::endl; int main() { // vector<T> v1; // 空初始化 // vector<T> v2(v1); // v2中包含有v1所有元素的副本 // vector<T> v2 = v1; // 等价于v2(v1)这是一个拷贝初始化 // vector<T> v3(n, val);// v3包含了n个重复的元素,每个元素的值都是val // vector<T> v4(n); // v4包含了n个重复地执行了至初始化的对象 // vector<T> v5{a,b,c,d,e}; // v5包含了初始值个数的元素,每个元素被赋值予相应的初始值 // vector<T> v6 = {a,b,c,d,e};// 等价于 v5的初始化 vector<string> v1{"a", "an", "the"}; vector<int> ivec(10, -1); vector<string> svec(10, "hi!"); string word; cin >> word; svec.push_back(word); svec.empty(); svec.size(); vector<unsigned int> scores(11,0); unsigned int grand; while(cin >> grade) { if (grade <= 100) ++scores[grade/10]; } vector<int> v{1,2,3,4,5,6,7,8,9}; for(auto &i : v) i *= i; for (int i = 0; i < v.length(); ++i) cout << v[i] << " "; cout << endl; }
在标准库中,很多操作都是相同的名称具有相同的语义, 如: empty, length, 下标等。
所以在标准库中掌握一些通用的方法能够更快的帮助我们快速了解整个标准库。