是的,我知道标题很复杂,所以我会尝试解释我的情况:
我有一对字符串对象_stream_readable.js:512
dest.end();
^
TypeError: dest.end is not a function
at Stream.onend (_stream_readable.js:512:10)
at Stream.g (events.js:286:16)
at emitNone (events.js:91:20)
at Stream.emit (events.js:185:7)
at endReadableNT (_stream_readable.js:975:12)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickCallback (internal/process/next_tick.js:98:9)
,其中包含一对名称和姓氏。
是否有一种简单的方法可以使用std::vector< std::pair<std::string, std::string> >
或find
来获取find_if
中仅匹配对的第一部分的所有对?
例如,如果我的向量包含对:
vector
有没有办法使用John Doe
Ivan Ivanovitch
Richard Stallman
或find
来检查我的向量是否包含与名字find_if
匹配的任何pair
,而忽略了姓氏(我将在稍后使用)?
假设我的向量只包含明显不同的名称和姓氏,并且从不对具有相同John
的对,意味着没有两个first
或John
。< / p>
答案 0 :(得分:1)
std::find_if(vec.begin(), vec.end(), [](std::pair<std::string, std::string> const & elem)
{
return elem.first == "John";
});
您可以将返回值与vec.end()
进行比较,以查看查找是否成功