vector
1 minute read
定义和初始化 vector
对象
虽然大多数时候都是用 push_back()
来初始化的,这里贴两个值得注意的初始化方法记一下
vector<T> v1;
vector<T> v2(v1); //复制构造
vector<T> v2 = v1;
vector<T> v3(n,val); //v4 包含了 n 个元素,每个都是 val;
vector<T> v4(n); //v4 包含了 n 个重复执行了值初始化的对象
vector v5{a,b,c}..; //列表初始化
vector<int> v1(10,1); //v1 有 10 个元素, 每个的值都是 1
vector<string> v2{10,1}; //v2 有 2 个元素,10, 1
vector<string> v3("hi"); //error, 不能用字符串字面值来构建 vector 对象
vector<string> v4{10}; //v4 有 10 个默认初始化元素
vector<string v5{10,"hi"}; //v5 有 10 个 "hi"
vector
添加元素
vector<int> v;
for(int i = 0;i != 100; ++i) //这里用 != 表示终止条件更合适,对于很多 C++ 模板而言并没有提供 > 或者 < 的功能
v.push_back(i);
string words;
vector<string> text;
while(cin>>words)
text.push_back(words);
vector
可以用下标查看,但是不能用下表添加元素,不要用下标访问未添加元素
vector<T>
的 size_type
为 vector<T> size_type