在vector中添加元素的方法

来源:互联网 发布:超牛数据恢复软件官网 编辑:程序博客网 时间:2024/05/25 19:55

可以用一个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);


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

0 0