如何在C++中使用指定位置获取向量中的元素?

23

如何通过提供向量模板中的位置获取元素?


6
你使用的向量参考资料没有在前两段解释这一点吗?考虑使用其他资料。 - Rob Kennedy
4个回答

36

您可以像访问普通的C数组一样访问std::vector元素:

std::vector<int> myVector;

//(...)


int a = myVector[1];

17
你可以使用'at'函数(someVector.at(somePosition)会获取somePosition位置的元素),或者你可以使用someVector[somePosition]。它就像一个更完善的数组。
使用at函数的区别在于,如果你传入了无效的位置,它会抛出异常,而[]不会检查这样的情况。

我使用的std::vector实现会检查。访问越界会导致与断言失败基本相同的行为,这在许多情况下要比异常更可取。 - James Kanze

7

有两种方法可以实现你想要的目标(对于向量Vec):

  (1) Use at() function eg. Vec.at(index)

  (2) Use like a normal array eg. Vec[index]

1

索引是在向量上运作的,所以只需使用索引来访问它。与数组类似。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接