【发布时间】:2014-09-14 17:16:49
【问题描述】:
如果这是重复的,我不会感到惊讶,但我已经四处搜索,只找到有关在向量中查找特定元素的帖子。
我有一个代码将字符串拆分为字符串中所有单个单词的向量(由空格拆分),然后将该向量的每个索引分配给单个字符串(因此只需取一个句子并将其拆分为单词) 但我发现如果我尝试索引向量的某个不存在的元素,我会得到各种各样的错误。例如,如果我的向量有 5 个元素,然后我说:
string x = names[6];
然后,由于没有名称[6],因此代码中断。我想添加一个“if”语句,基本上说“如果名称 [6] 存在,字符串 x = 名称 [6]”,但我不知道如何检查名称 [6](或向量的任何其他索引) ) 存在。
我试过了:
if (std::find(names.begin(), names.end(), names[4]) != names.end())
{
string x = names[4];
}
else
{
}
但如果名称[4] 不存在,我最终会遇到相同的错误。
如果有人可以让我知道如何执行此操作,或将我引用到另一篇解释这一点的帖子,那就太好了,
-谢谢
【问题讨论】:
-
请注意,代码只会“中断”,因为您不处理
std::vector在此实例中抛出的异常。捕获异常 -> 没有破损。