У меня есть два std::unordered_map
экземпляра с 0 или более пересекающимися ключами.Я пытаюсь вернуть новый экземпляр std::unordered_map
, ключи которого являются пересечением ключей mapA
и mapB
, и значения которого в этих ключах равны mapA
.
Как можноЯ нахожу пересечение этих двух карт mapA
и mapB
, сохраняя только значения из mapA
?
Ниже приведен пример результатов, которых я пытаюсь достичь:
#include <unordered_map>
typedef std::unordered_map<std::string, double> MapType;
MapType intersectFilter(MapType const & mapA, MapType const & mapB);
int main()
{
MapType mapA = { {"keyA", 1}, {"keyB", 2} };
MapType mapB = { {"keyA", 5}, {"keyK", 3} };
MapType mapC = intersectFilter(mapA, mapB);
// The resulting `mapC` should be:
// { {"keyA", 1} }
return 0;
}