vector初始化?
答:
vector<T> v1; vector 保存类型为 T 对象。
默认构造函数 v1 为空。
vector<T> v2(v1); v2 是 v1 的一个副本。
vector<T> v3(n, i); v3 包含 n 个值为 i 的元素。
vector<T> v4(n); v4 含有值初始化的元素的 n 个副本。
vector的作用是什么?
答:用于管理同一类型的对象集合。
下标操作不添加元素:
错误:
vector<int> ivec; // empty vector
for (vector<int>::size_type ix = 0; ix != 10; ++ix)
ivec[ix] = ix; // disaster: ivec has no elements
正确:
// reset the elements in the vector to zero
vector<int> ivec(10);
for (vector<int>::size_type ix = 0; ix != ivec.size(); ++ix)
ivec[ix] = 0;
那用vector函数如何添加元素?
答:v.push_back(t) 在 v 的末尾增加一个值为 t 的元素。
定义vector比较好的方法:
方法一:
vector<int> ivec;
for (cnt = 1; cnt <= 10; ++cnt)
ivec.push_back(42);
方法二:
vector<int> ivec;
vector<int>::iterator iter = ivec.end();
for (int i = 0; i != 10; ++i) {
ivec.insert(iter, 42);
iter = ivec.end();
}