Предмет: Информатика, автор: YarikOlimpiadnik

Здравствуйте! 20 баллов. Кто знает С++? Не понимаю, расскажите, пожалуйста, как ввести словарь в С++? Библиотека map. Для меня важно ввод строк в словаре, где одна превращается в first, а другая в second (в пару множества).


Indentuum: Вам нужно сохранять всю строку или только слово?
YarikOlimpiadnik: слово

Ответы

Автор ответа: Indentuum
1

Для ввода используем std::cin >> first >> second и заодно проверяем успешен ли ввод. Если да, то сохраняем пару в dict. На этапе компиляции auto p превращается во что-то вроде std::pair<std::string, std::string>, откуда мы получаем доступ через члены first и second (для первого и второго элемента соответственно)

Приложения:

DigitalAnnihilator: Для начала уточню, почему не мультимапа? Слово может иметь к примеру несколько переводов, это стоило бы спросить у хозяина вопроса... Продолжая это действо, нужно было уточнить, что делать если уже существует такой елемент в мапе.
DigitalAnnihilator: dict[key] = val для заполнения массива это откровенный Python или Js стиль. Это работает только по тому, что при отсутствии найденного елемента map будет конструировать пустой, который и будет вами зааплаен значением. Это не правильный подход для работы с мапой, по тому, что не дает вам четкого понимания, был ли уже создан данный елемент и вы его перезаписываете или же вы просто создаете новый.
DigitalAnnihilator: Для корректной работы используйте insert, именно его для вас сделали. К слову говоря, работать он будет быстрее как минимум по тому, что default значение объекта создаваться не будет, а будет копироваться просто из значение переданного в insert.
Так что то что вы написали откровенно тормозит код.
DigitalAnnihilator: auto это тот же шаблон. А шаблон обрабатывается не на этапе компиляции, а на этапе препроцессора, если вам будет так угодно. Так что не вводите в заблуждение или хотя бы не в такое откровенное (:
DigitalAnnihilator: Ах да, мы получаем не "что-то вроде" а тип которым является елемент коллекции.
Похожие вопросы
Предмет: Алгебра, автор: OhZT68
Предмет: Математика, автор: алина2349