c++中vector使用
不多说,先看代码:
- #include <IOSTREAM>
- #include <VECTOR>
- using namespace std;
- int main()
- {
- cout<<"By:Sayln_wu"<<endl<<endl;
- //编写10个元素的vector对象。用迭代器把每个元素值改为当前值+2.
- vector<int> ivec(3,8);
- cout<<"原值为:"<<endl;
- int i=0;
- for (vector<int>::iterator iter=ivec.begin();iter!=ivec.end();iter++)
- {
- i++;
- cout<< *iter <<endl;
- *iter=(*iter)+i;
- }
- //可以放在上面输出,下面是为了使用const_iterator。
- cout<<"修改后的值为:"<<endl;
- for(vector<int>::const_iterator citer=ivec.begin();citer!=ivec.end();citer++)
- {
- cout<<*citer<<endl;
- }
- //求vector中间值
- vector<int>::iterator min = ivec.begin() +ivec.size()/2;
- cout<<"中间值为:"<<*min<<endl;
- return 0;
- }
截图如下:
在上述代码中用到了两个iterator,一个是iterator,另一个是const_iterator。const_iterator是一个只读的迭代器。
当然还有一个是const iterator ,这个也可以,不过不能指定指定位置。所以很少使用。
*iter 是读取ivec的当前值。 *操作符为解引用操作符。
值得一看的还有最下面的求iver的中间值。
vector<int>::iterator min = ivec.begin() +ivec.size()/2;
大家思考下,如果改为 vector<int>::iterator min =( ivec.begin() +ivec.size() )/2; 结果会是什么样的呢?