在vector中添加元素的方法

时间:2023-01-25 19:28:29

可以用一个vector的下标操作添加元素,但是如果是空的vector就不能用下标进行添加。

例如  :vector<int> ivec                               //ivec是一个空的容器。

              for(vector<int> ::size_type ix = 0; ix !=10;++ix )

                          ivec[ix] = ix;

这是一个错误的添加方法,因为ivec是一个空的对象,但是下表只能用于获取已存在的元素。


利用指针进行添加也会出现错误!

例如:      vector<int>  vec;

    vector<int>::iterator p = vec.begin();
    *p = 34;
    *(p+1) = 21;
运行时也会出现内存的错误!


正确的写法是:for( vector<int>::size_type ix = 0; ix != 10; ++ix)

                                ivec.push_back(ix);


注意:必须是已存在的元素才能使用下标操作符进行索引,通过下标操作进行赋值时,不会添加任何元素。