vector.at(i)
和 和有什么不一样vector[i]
?
vector<int> myVector(6);
myVector.at(5) = 5;
或者
myVector[5] = 5;
我知道两者都产生相同的结果,但不知何故,操作员[]
更快。我还阅读了有关at
检查矢量大小(边界)并返回超出范围错误的信息,而[]
没有。
但是我看到如果尝试分配:
myVector[8] = 1;
我在调试模式下遇到类似的超出范围错误。
那么是什么意思at
呢?为什么它在 STL 中?