下标操作只能用于获取已存在的元素。
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
}
必须是已存在的元素才能用下标操作符进行索引。
试图获取不存在的元素必然产生 运行时错误。
本文探讨了C++中使用std::vector容器时的常见错误与正确实践。指出直接通过下标设置元素会导致未定义行为,并展示了如何安全地添加元素。
112

被折叠的 条评论
为什么被折叠?



