可以用一个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);
注意:必须是已存在的元素才能使用下标操作符进行索引,通过下标操作进行赋值时,不会添加任何元素。