3

タイプ定義された2つのマップがあります

typedef std::map<std::string, std::map<std::string, migrationObj> > table;
typedef std::map<std::string, migrationObj> obj;

int main (int argc, char ** argv) {
   table t;
   t["test"].insert(obj::value_type("testID", 1));
   return 0;
}

カスタムメソッドをタイプに追加するにはどうすればよいでしょうかtable(createItem と呼びましょう)。

t["test"].createItem("testID", 1);

これを行うには少しオーバーヘッドがかかるように見えますが、問題を単純化しました。createItemこれを行う理由は、マップのキー ルックアップ機能を維持しながら、マップの挿入順序を追跡するために何かを行う必要があるためです。

4

2 に答える 2

0

ここでは boost::multi_index が正しい答えかもしれません。

挿入の順序を追跡する std::map ?

http://www.boost.org/libs/multi_index

于 2013-05-29T19:30:32.720 に答える