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

求大神帮忙图片

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

 for(vector<int>::iterator p = vec.begin(); p !=vec.end() ; p++)
{  
cout << *p << " " ;  
}

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]);
    }

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