Извлечение узла из std::map в C++
Метод extract возвращает
node_type: отсоединенный узел
дерева, пока вы сами не вставите его или
не уничтожите.
У словаря вызывают extract с ключом
или с итератором на элемент. Если ключ не
найден, узел пустой: проверяют метод
empty. У множества std::set
аналогично, но значение читают через
value вместо пары
key и mapped.
Запишем словарь, извлечем узел по ключу и выведем поля узла:
#include <map>
std::map<std::string, int> caps = {{"ru", 1}, {"en", 2}};
auto node = caps.extract("ru");
std::cout << node.key() << "\n";
std::cout << node.mapped() << "\n";
std::cout << caps.size() << "\n";
Создайте словарь из двух пар строка-число, извлеките узел с первым ключом и выведите значение из узла, затем размер исходного словаря.