如何编写IF条件检查字符串是否是某个键的值(也是一个字符串)?

问题描述 投票:3回答:1

所以我有9个字符串的这些集合,我将创建3个向量,每个向量包含这9个字符串中的3个。

我还创建了一个无序的multimap,其中每个字符串都是一个键,并且每个字符串都附加了两个值。这些值也是任何字符串。

现在我要在向量中插入一个字符串(让我们称之为X)。我需要程序做的是迭代其余的字符串(让我们调用这个新的潜在字符串Y),并检查Y是否不是无序多图中的键X的值。如果不是,则Y将插入与X相同的向量中。基本上,这是我想要的伪代码:


    vector vec1;
    vec1.push_back(X);
    for(Y = all the remaining strings){
        if(Y is not the value of key X){ // This is what I need to have a syntax for
            vec1.push_back(Y);
        }
    }

c++
1个回答
3
投票

我建议你把multimap::equal_rangestd::none_of结合起来

auto fun = [&x](const auto &val){ return x == val; };
const auto&[begin, end] = map.equal_range(x);
if( std::none_of(begin, end, fun) ) {
       ..........
© www.soinside.com 2019 - 2024. All rights reserved.