mwbr.net
当前位置:首页 >> vECtor itErAtor >>

vECtor itErAtor

试试以下代码#include #include #include using namespace std ;int main(){ string arr[4]={"hello","world","name","address"}; vector ivec(arr,arr+4);for(vector::iterator iter1=ivec.begin(); iter1!=ivec.end(); ++iter1 ){cout

verctor是声明向量容器; 例如 verctor v,就是创建了一个名字叫v的向量容器。 vector::iterator是定义向量迭代器 例如,vector::iterator it 就可以 for(it=v.begin();it!=v.end();it++) cout

vector::iterator it = m_vRotateparam.begin(); 迭代器指向m_vRotateparam第一个元素 m_vRotateparam.push_back(); 在vector尾部添加一个元素 最好还是查看MSDN上关于vector的官方文档

你擦除报到m的元素时有个逻辑错误,当报道的m元素为第一个元素时,你使用: it=myvector.erase(--it); 因为it本来就指向第一个元素,你执行--it时,it指向了vector以外的一个未知位置(即,超出了数据边界限),所以会报错. 做如下修改: ... if ( it == m...

*beg++是先取*beg,再将beg进行自加运算

上面的错误式iter没有定义 改为 vector::iterator iter; 而且头文件最好这么写 #include #include using namespace std;

vector::iterator iter = ivec.begin();使用迭代器的时候不要对容器进行修改。每次修改都可能引起迭代器的变化。你可以把输出放到修改的后面。

开头文件搜operator一目了然

for(iter=vec.begin();iter!=vec.end();iter++) { for(control=0,it=iter;it!=vec.end();it++) 改成 for(iter=vec.begin();iter!=vec.end()-1;iter++) { for(control=0,it=iter;it!=vec.end()-1;it++)

Vector非常类似ArrayList,都是继续List接口(List接口是继续Collection接口),但是Vector是同步的。由Vector创建的Iterator,虽然和ArrayList创建的Iterator是同一接口,但是,因为Vector是同步的,当一个Iterator被创建而且正在被使用,另一个线...

网站首页 | 网站地图
All rights reserved Powered by www.mwbr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com