Вот что я пробовал до сих пор.Пожалуйста, помогите мне добавить temp в качестве значения, если ключ уже существует без обновления его существующего значения.
typedef map<int, string> RII;
void post(string s, string review, unordered_map<string, RII> &postResult) {
int tym = (int)time(NULL);
RII temp;
temp.insert(make_pair(tym, review));
if(postResult.find(s) == postResult.end()) {
postResult.insert(make_pair(s, temp));
}
else if(postResult.find(s) != postResult.end()){
postResult[s] = temp;
}
}
int main() {
string review1 = "hello the food is great";
string review2 = "Food smells great";
unordered_map<string, RII> postResult;
post(s1,review1,postResult);
post(s1,review2,postResult);
for(unordered_map<string, RII>:: iterator itr = postResult.begin(); itr != postResult.end(); itr++) {
cout << itr->second.size() << endl;
for(RII::iterator i = itr->second.begin(); i != itr->second.end(); i++) {
cout << "User: " << itr->first << " timestamp : " << i->first << " review : " << i->second << endl;
}
}
return 0;
}
Вот как выглядит результат: Вывод: Пользователь: временная метка: 1569056320 обзор: Пища пахнет отлично
Ожидаемый результат: Пользователь: метка времени: 1569056320 обзор: привет, еда замечательная Пользователь: метка времени: 1569056369 обзор: Пища пахнет отлично