質問: ### 前提・実現したいこと C++でデータにタグのようなものを設けたいのですが、どのようにすればいいのでしょうか? プログラム処理の上で指定の座標上にある物体のIDを引き出したいという感じです。 具体的な例として 一年生 Maki,Rin 二年生 Honoka,Kotori,Umi 三年生 Nico というデータがあるさいHonokaを入力したら二年生と返してくれるプログラムを作りたいということです。 なおここで言う一二三年生のようなタグは大量に生成したいのでそれぞれのタグに別々の配列を定義し、用意するというわけには行きません... ### 現在あるアイディア 2次元配列を利用し、タグとタグの中身で構成されるデータを作成するという方法もありますがタグによりデータの要素数が異なるため以下のように無駄に空きのスペースができたりしてしまうのであまり望ましいとは言えません。 | 一年生 | 二年生 | 三年生 | | --- | --- | --- | | Maki | Honoka | Nico | | Rin | Kotori | | | | Umi | |
回答: 名前の方をキー、タグを値にして`std::unordered_map`(cpprefjp)に入れてしまえばいいのではないかと思います。 C++には、STLによるデータ構造も各種用意されています。