如何在不复制的情况下更新 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);
如何扩展以下代码以收集所有 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);