Consider this code:
std::unordered_map<int, std::string> data;
data[5] = foo();
In what order are data[5]
and foo()
processed? If foo()
throws an exception, is the 5
item in data
created or not?
If the behaviour depends on version of C++, how do those versions differ?