使用するのに最も適した構造はマップだと思われます。動物と名前を関連付けて、動物の名前を簡単かつ効率的に調べることができます。
これを試して:
std::map<std::string, std::string> animal_names;
最初のテンプレート タイプはキータイプで、2 番目のテンプレート タイプは値タイプです。あなたの場合、キーは動物で、値は名前です。
次に、これを使用して関連付けを挿入できます。
animal_names["cat"] = "molly";
とても簡単です!マップを繰り返し処理すると、動物の順に取得されることに注意してください。それが"bird"
最初に来て、次に"cat"
、そして"dog"
.
順序をまったく気にしない場合は、代わりにstd::unordered_map
. これにより、アクセスと挿入時間が改善されます。
あなたは初心者だと言うので、あなたのファイルをどのように読むかの例を示します。
std::ifstream file("animal_names.txt");
std::string animal, name;
std::map<std::string, std::string> animal_names;
while (file >> animal >> name) {
animal_names[animal] = name;
}
後で、たとえば猫の名前を印刷したい場合は、次のようにします。
std::cout << animal_names["cat"] << std::endl;