gpt4 book ai didi

c++ - 如何添加到已存储在集合中的集合?

转载 作者:行者123 更新时间:2023-11-30 02:16:05 25 4
gpt4 key购买 nike

我有以下内容:

class SpritesheetManager{

std::unordered_map<std::string,std::unordered_set<std::string>> _loadedFiles;

void addFileToFileListForSheet(std::string sheetprefix,std::string filename);
}

添加文件时我这样做:

void SpritesheetManager::addFileToFileListForSheet(std::string sheetprefix,std::string filename){
bool containsKey = (_loadedFiles.find(sheetprefix)!= _loadedFiles.end());

std::unordered_set<std::string> values;
if(!containsKey){
_loadedFiles[sheetprefix] = values;
}

_loadedFiles[sheetprefix].insert(filename);
}

有更好的方法吗?

最佳答案

如果您尝试访问不存在的键,operator[] 会自动默认构造并插入一个值,您可以将代码简化为:

void SpritesheetManager::addFileToFileListForSheet(std::string sheetprefix,std::string filename) {
_loadedFiles[sheetprefix].insert(filename);
}

关于c++ - 如何添加到已存储在集合中的集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55428617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com