如果这是重复的,我不会感到惊讶,但我四处搜寻,只发现了在向量中查找特定元素的帖子。
我有一个代码,将字符串分割成字符串中所有单个单词的向量(由空格分隔),然后将该向量的每个索引分配给单个字符串(因此只需将一个句子并将其分解为单词),但是我如果我尝试索引不存在的向量的某个元素,则会发现各种错误。例如,如果我的向量有5个元素,后来我说:
string x = names[6];
然后,由于没有名称[6],因此代码中断了。我想添加一个“ if”语句,该语句实质上表示“如果names [6]存在,字符串x =名称[6]”,但是我不知道如何检查names [6](或向量的任何其他索引) )存在。
我试过了:
if (std::find(names.begin(), names.end(), names[4]) != names.end())
{
string x = names[4];
}
else
{
}
但是如果names [4]不存在,我最终会遇到相同的错误。
如果有人可以让我知道如何执行此操作,或者将我引荐到另一篇说明该内容的文章,
-谢谢
最佳答案
std::vector
中的索引仅在index < vector.size()
时存在。您可以对此进行测试:
if (names.size() > 4)
string x = names[4];
关于c++ - 如何判断 vector 是否具有一定数量的元素C++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25835889/