c++ stl vector 下标可以取-1么

vector下标访问有两种情况:

  • []运算符
  • at函数

[]运算符

不会进行边界检查。

不同于 std::map::operator ,此运算符不插入新元素到容器。

通过此运算符访问不存在的元素是未定义行为。

at函数

访问指定的元素,同时进行越界检查。

若 !(pos < size()) 则抛出 std::out_of_range

posted @ 2022-04-12 15:10  天下太平  阅读(413)  评论(0)    收藏  举报