如果我有一个载体,最佳方式对象
std::vector<int> MyVector;
而且要访问矢量的第n个元素,我可以在许多不同的方式做到这一点:
int x = MyVector[n];
或
int x = MyVector.at(n);
甚至使用我不熟悉的迭代器。
我相信还有很多方法可以访问矢量中的对象。我所问的是,每个人的赞成和反对是什么,因此哪种方法是最好的。
此外,有任何这些safeif benifets?如果不是为什么任何人会在[x]上使用.at(x)?
@MrLister,我不太确定他们是否会被优化掉,因为'at()'广告边界检查,而'operator []'没有。从使用'at()'的代码中删除边界检查将是一个潜在的突破性优化。尽管看看这个组件,但这真是太棒了! – Alejandro