访问vector元素时,使用at和方括号[]之间真的有什么区别吗?

我看到同一个人更喜欢myvector.at()而不是myvector[],是否有使其更受欢迎的东西,例如在某些情况下更好的性能,或与某些其他语言通用?

最佳答案

主要区别在于operator[]是未选中的,如果您尝试在 vector 的边界之外访问内存,则会导致未定义行为,而.at会检查索引,并且如果您尝试越界访问内存,则会抛出std::out_of_range异常。

09-30 19:21
查看更多