1, используйте index.count(y)
.Он более лаконичен и эквивалентен index.find(y) != index.end()
, за исключением того факта, что это целое число 1 или 0, тогда как, конечно, !=
дает вам значение bool.
Недостатком является то, что count
потенциально меньшеэффективнее для multimap
, чем для map
, поскольку может потребоваться учитывать более одной записи.Поскольку вы не используете multimap
, нет проблем.
2, вы можете отсортировать оба вектора и использовать std::set_intersection
, но это не идеально подходит, если все, что вас волнует, это то, что пересечение пустое илине.В зависимости от того, откуда поступает ввод, вы можете избавиться от обоих векторов и просто создать map
при переходе от первой загрузки ввода, а затем сравнить каждый элемент второй загрузки ввода с ним.Наконец, используйте set
вместо map
.