3種類のキーを持ったデータの検索をしたいのですが、
mapで実現する場合、どんな方法があるのでしょうか
キー int A、キー int B、キー string C、VOL=クラスX
検索はA,B,Cでそれぞれ行うとした場合、以下のようなmapのtypedefを3種類設定することになるのでしょうか?
map<int, クラスX> aa;
map<int, クラスX> bb;
map<string, クラスX> cc;
これですと削除がする場合には3箇所mapを修正するひつようがありますので1箇所で処理でしないのでしょうか?
No.1ベストアンサー
- 回答日時:
3つのmapをまとめてクラスにしてしまい、メソッドを用いて処理を一元化する方法もあると思います。
要素の数が少ないなら、listなどにいれてfind_ifで関数をかえて検索。
boostにはmulti_index_containerなるものもあるようです。
参考URL:http://hw001.gate01.com/eggplant/tcf/cpp/boost_m …
No.2
- 回答日時:
>3種類のキーを持ったデータ
??? それは3種類のmapが(各個独立して)存在するということ?
よく意味が理解できないけれども、
"A, B それと Cでキーを成す"ということならば、
↓のようにできる。
struct KeyType
{
int A;
int B;
std::string C;
bool operator<(const KeyType& rhs) const;
};
class X;
typedef std::map<KeyType, X> Hoge;
回答ありがとうございます。
A,B,Cを合成したものをキーにするものではなく、
A、B,Cのいずれかで検索するという意味でした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
tomcat上でのpropertiesファイ...
-
どこからも呼ばれていない無意...
-
UMLのクラス図はmain()も含むん...
-
C# テキストボックスにマウスが...
-
重複エラーを解決するには
-
A・B・Cクラスとは?
-
数学の計算問題。 3年間同じク...
-
配列の重複する値とその個数を...
-
正規表現を使った小数入力チェ...
-
複数のクラスで共通した関数を...
-
ネスカフェ エクセラ と UCCク...
-
配列クラスのクラス名
-
1 つのヘッダファイルに複数の...
-
定数/UTILクラス等の置き場所に...
-
同一パッケージにあるクラスが...
-
新しいクラスLINEでだいたいの...
-
クラスのプロパティに構造体を...
-
IPアドレスのクラスAを取得して...
-
HttpClientのクラスの内容について
-
サーブレット実行時のエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
java eclipse 型に解決できません
-
配列の重複する値とその個数を...
-
グローバルIPとプライベートIP...
-
「天声人語」をインターネット...
-
どこからも呼ばれていない無意...
-
同一パッケージにあるクラスが...
-
UMLのクラス図はmain()も含むん...
-
クラスのプロパティに構造体を...
-
包丁の切れ味
-
main()を持つクラスが2つ以上...
-
3年間同じクラスになる確率
-
IPアドレスのクラスAを取得して...
-
複数のクラスで共通した関数を...
-
自作のクラスファイルがインポ...
-
共通で使う関数を集めたクラス...
-
dllと同じプロジェクトにする方法
-
コンボボックスのマウスホイー...
-
重複エラーを解決するには
-
進学校通ってたんですけど、眼...
-
EclipseでJSPのコンパイルエラー
おすすめ情報