如何扩展下面的代码来收集所有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);