2 qq 33555452 qq_33555452 于 2016.02.04 22:43 提问

为什么这种方式向容器存值是错的
c++

求大神帮忙图片

4个回答

caozhy
caozhy   Ds   Rxr 2016.02.04 22:50
已采纳

p永远不可能是null,直到你越界。
null=0
你的p本身不等于0,你不断++,怎么可能循环结束!

caozhy
caozhy   Ds   Rxr 2016.02.04 22:52
 for(vector<int>::iterator p = vec.begin(); p !=vec.end() ; p++)
{  
cout << *p << " " ;  
}
leilba
leilba   Rxr 2016.02.04 23:11

p是指针,p++不会到null,你若是想要将数组存到vector里面的话,可以用下面的方式:

     int ia[] = {0,1,2,3,4,5,6};

    vector<int>vec;

    for (int i=0; i<sizeof(ia)/sizeof(int); i++) {
        vec.push_back(ia[i]);
    }
qq_33555452
qq_33555452 谢谢
接近 2 年之前 回复
oyljerry
oyljerry   Ds   Rxr 2016.02.05 09:08

你可以直接用ia来访问数组元素,没必要用指针,这样只用遍历数组获取每个元素,然后插入vector

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!