Невозможно добавить карту DS в качестве значения для переменной карты в C ++.Если ключ существует, его значение обновляется - PullRequest
0 голосов
/ 21 сентября 2019

Вот что я пробовал до сих пор.Пожалуйста, помогите мне добавить 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 обзор: Пища пахнет отлично

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...