下标操作只能用于获取已存在的元素。
vector<int> ivec;
for(vector<int>::size_type ix=0;iX!=10;ix++){
ivec[ix]=ix;//disaster;ivec has no elements
}
正确写法如下:
vector<int> ivec;
for(vector<int>::size_type ix;ix!=10;ix++){
ivec.push_back(ix);//OK:adds new element with value ix
}
必须是已存在的元素才能用下标操作符进行索引。
试图获取不存在的元素必然产生 运行时错误。