C ++检查vector中是否存在元素

时间:2012-04-07 17:05:49

标签: c++ vector

我正在使用矢量,需要检查矢量中特定位置是否存在元素,如myvec[7]

我需要在循环之外工作,并能够对向量中的任何给定点执行此检查。使用向量执行此操作的最有效方法是什么?

2 个答案:

答案 0 :(得分:7)

这是您要查找的支票:(myvec.size() >= 8)。在C ++中,向量中没有空白元素 - 即向量元素具有连续索引。

答案 1 :(得分:2)

有两种方法可以做到这一点。

接下来的代码示例将假设我们想要在向量v

中对元素v [n]执行某些操作

方式1:

if(n<v.size()) 
    //do something with v[n]
else
    //do something else

方式2:

//do something using v.at(n) instead of v[n]

如果您尝试访问不在向量中的元素,则会引发异常。

使用哪一个?取决于案件。
如果元素不在向量中,你能工作吗?使用第一种方法 拥有此元素对您的代码至关重要。使用第二种方法,让STL为您检查它的存在,并且不要忘记捕获异常。