はSTLマップが注文されていますか?C++のstd :: map <文字列、文字列>は順序づけられていますか?
具体的には、std :: mapが注文されているかどうかを知る必要があります。したがって、最初の挿入文字列を最初に反復処理します。
以下、A、C、Bを一貫して繰り返しますか?
std::map<string,string> str_map;
str_map.insert(std::make_pair("A","Data"));
str_map.insert(std::make_pair("C","Data"));
str_map.insert(std::make_pair("B","Data"));
はい、実際には独自の比較関数を渡すことができますので、必要に応じて並べ替えることができます。 http://www.cplusplus.com/reference/stl/map/ – leetNightshade
CodingQuant:実際にあなたの例はあまり良くありません。なぜなら、「順序付け」という2つの意味を区別しないからです。挿入順序と辞書順です。 std :: mapは、挿入命令ではなく、辞書式の順序を保持します。 –
@j_random_hacker:賢明であるために、std :: mapは、比較述語が辞書編集の比較に基づいている場合にのみ、辞書編集の順序を保持します。 –