knrt.net
当前位置:首页 >> 问一下C++中vECtor<int> 和vECtor<int>::itErA... >>

问一下C++中vECtor<int> 和vECtor<int>::itErA...

verctor<int>是声明向量容器;例如 verctor<int> v,就是创建了一个名字叫v的向量容器.vector<int>::iterator是定义向量迭代器例如,vector<int>::iterator it 就可以for(it=v.begin();it!=v.end();it++) cout<<*it<<endl;就把里面的内容都输出了

可以啊-.-~~vectorv(1,10);vector&returnV(){returnv;}intmain(){vectorv1;v1=returnV();cout<

b里的vector没有元素.不存在b.y[0].你可以创建一个结构体A,将1,2赋给A,再用B.y.push_back()插入.这时候才可以用这两条语句:b.y[0].a=1; b.y[0].b=2;

v.reserve(10); 只是让容器v预留10个元素的存储空间,没加入元素之前v的大小都是0 给第三元素赋值,直接当数组那样引用就行 vector<int> v; v.reserve(10);// v[2]=1000; //下标从0开始计数

v.rbegin()是一个反向迭代器,其类型应该是reverse_iterator而不是iterator所以,应该将pos声明成一个反向迭代器,即:vector &lt;int&gt;::reverse_iterator pos;然后再pos=v.rbegin();就没有问题了.

数组的大小必须是编译时就确定的"常数",而你这里的num才有运行时才能确定,所以出现unknown size的错误,这种情况下只能用动态数组:#include&lt;fstream&gt; #include&lt;vector&gt; using namespace std; int main() { ifstream fin; fin.

template < class T, class Alloc = allocator<T> > class vector; 基本数据类型并不属于类,必须包装才能成为类,比如:int---Integer vector<Integer>

vector&lt;int&gt; v(3); //定义这个时,v中已经有三个元素,全部是0 v[0]=0; v[1]=1;//现在v中元素是0 1 0 v.push_back(3); //现在v中元素是0 1 0 3 first last是迭代器, vector&lt;int&gt;::iterator first=v.begin(); vector&lt;int&gt;::iterator last=v.end(); 这里定义出来的=========================书上的也不一定是全对的,另外first last只是为了好记,起一个好记的变量名称也算是程序员的一种能力另外,站长团上有产品团购,便宜有保证

貌似不是因为第二次erase有错,而是,id等于3的时候erase完了就到vector的尾部了,erase操作成功返回值为当前erase对象的next对象指针,需做判断,然后跳出循环.

vector<int>::iterator itvector<int>::iterator ite同样是定义两个变量,不同的只是变量的名称it和ite~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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