Как найти, если строка равна другой из списка в C++

Я делаю переводчик латыни и мне нужна помощь. Таким образом, я сделал так, что я отделил каждое слово от фразы, введенной пользователем, в отдельные строки. У меня также есть класс, где я просто перечисляю все латинские слова и их перевод, например: string ac = "and"; а также string accedo = "approach";

Мне нужен способ проверить, например, первое слово для всех слов из списка, чтобы найти перевод, без добавления оператора if для каждого слова.

1 ответ

Решение

Вы можете использовать std::map вот так

#include <map>
#include <iostream>

int main()
{
    std::map<std::string, std::string> words;

    words["ac"] = "and";
    words["acedo"] = "approach";


    std::cout << "ac = " << words["ac"] << '\n';
    std::cout << "acedo = " << words["acedo"] << '\n';
}
Другие вопросы по тегам