如何在不复制的情况下更新 std::unordered_map<std::string, std::vector<int>> 中的向量?

How to update the vectors in a std::unordered_map<std::string, std::vector<int>> without copying?

如何扩展以下代码以收集所有 entry.score 而不仅仅是保留最近的代码?

我现在的密码是:

std::unordered_map<std::string, float> container;

int main() {
    // some code
    for (auto entry : entries)
        container[entry.name] = entry.score;
}

如何扩展它以保留所有 entry.score 同时避免复制?:

std::unordered_map<std::string, std::vector<float>> container;
//vectors need to be updated using .push_back(entry.score)

int main() {
    // some code
    for (auto entry : entries)
        container[entry.name] = ;  //missing connection
}

container[entry.name]returns一个std::vector<float>&std::vector 公开 push_back,它向向量中插入一个元素。

因此你可以这样做:

container[entry.name].push_back(entry);