for ループに基づく範囲で を 2 回反復するstd::unordered_map
と、順序が等しいことが保証されますか?
std::unordered_map<std::string, std::string> map;
std::string query = "INSERT INTO table (";
bool first = true;
for(auto i : map)
{
if(first) first = false;
else query += ", ";
query += i.first;
}
query += ") ";
query += "VALUES (";
first = true;
for(auto i : map)
{
if(first) first = false;
else query += ", ";
query += i.second;
}
query += ");"
上記の例では、結果の文字列はその形式である必要があります。したがって、両方の回で反復の順序が同じであることが重要です。
INSERT INTO table (key1, key2, key3) VALUES (value1, value2, value3);
これは C++ で保証されていますか?