2011-12-31 12 views
1

ベクトルのマップを作成する必要があります。第1のベクトルは文字列のリストを含み、第2のベクトルは整数IDのリストを含む。 これは可能ですか?C++でのデータ構造のマップ

+1

http://stackoverflow.com/questions/1380585/map-of-vectors-in-stl私は役に立つと思う –

答えて

2
std::map<std::string, int> isThisWhatYouNeed; //? 
std::map<std::vector<std::string>, std::vector<int> > orThis; //? 
0

私が正しくあなたの質問を理解していれば、あなたは1つのベクトルが文字列やその他のint型を含むキー=>ベクトルのマップをしたいですか?

このようなタイプは混在できません。あなたが行うことができる最も近いのはkey => CustomClassのマップを作成することです。カスタムクラスには、文字列のベクトルとintのベクトルが含まれていて、両方が読み込まれます。あなたは非常に巧妙なことが、潜在的にあなたのための大規模なデバッグ頭痛を作成する場合

あるいは、あなたはvoid *にマップを行うことができ、そして手動:)するためにどのような各ポインタポイント管理

2
あなたがしたい場合があります

Boost Variant(http://www.boost.orgを参照)をご覧ください。次に使用:

std::map<std::string, boost::variant<std::vector<string>, std::vector<int>>> 

あなたは別のベクトルからマップしようとしている一方で、その後、あなたが構築したときにキータイプのベクターにカスタムソート述語を提供することにより、それを行うことができ、場合地図。