|
vector<shape>::size_type size = my_shapes.size();
就像size_type描述了vector尺寸的类型,value_type说明了其中保存的对象的类型:
cout << “value type: “ << typeid(vector<float>::value_type).name();
输出:
value type: float
可以用capacity()来取得vector中已分配内存的元素个数:
vector<int> v;
vector<int>::size_type capacity = v.capacity();
vector类似于数组,可以使用下标[]访问:
vector<int> v(10);
v[0] = 101;
注意到这里预先给10个元素分配了空间。你也可以使用vector提供的插入函数来动态的扩展容器。成员函数push_back()就在vector的尾部添加了一个元素:
v.push_back(3);
也可以用insert()函数完成同样的工作:
v.insert(v.end(), 3);
这里insert()成员函数需要两个参数:一个指向容器中指定位置的迭代器(iterator),一个待插入的元素。insert()将元素插入到迭代器指定元素之前。
现在对迭代器(Iterator)做点解释。Iterator是指针(pointer)的泛化,iterator要求定义operator*,它返回指定类型的值。Iterator常常和容器联系在一起。例子:(责任编辑:admin) |
