私がのstd ::マップのランタイム発注の実装を検索し、この解決策を見つけた: STL std::map dynamic ordering奇妙な使用法は
それは私にとっては明らかですが、私はどのようにそれを理解していませんstd :: mapのコンストラクタでOrderingTypeを使用することができます。 std :: mapにはコンストラクタがあり、コンパレータオブジェクトを引数として取得します。だから、このようなコードを使用するように私の視点から正常です:
int main()
{
Ordering<int> test_ordering(ASCENDING);
CUSTOMMAP map1(test_ordering);
return 0;
}
しかし、コードを上記のトピックからもコンパイル:
はint main()
{
CUSTOMMAP map1(ASCENDING);
//...
return 0;
}
私は理解していない、それが動作する理由:のコンストラクタをstd :: mapは、Orderingクラスオブジェクト自体の代わりにOrderingType列挙型の引数を取得してはいけません。
私はこの絵のどこにでも 'std :: map'が表示されません。 –
私はちょうど上記のトピックからコードのブロックを取った。おそらく、私はそれを完全に引用したはずです。私はそれがリンクを残すよりも良いのか分からない。 –
さて、私は今それを見る。 –