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



如何扩展下面的代码来收集所有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]返回一个std::vector<float>&std::vector公开push_back,这会将一个元素插入到向量中。

因此,您可以执行以下操作:

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

相关内容

最新更新