我试图在自定义字典中查找给定的const Key&。一旦找到Key,匹配的Value需要作为const Value* 而不是Value返回。目前,我的代码将编译,但不运行,因为它崩溃,由于内存泄漏,所以我甚至不确定代码的工作作为预期。
我试图删除我的临时指针,但似乎不起作用。也许有更好的方法来完成我想做的事情。
mTable是一个对(键,值)列表的集合
const Value* Find(const Key& key) {
/*int bucket = mHashFunc(_key);*/
const Value* temp = nullptr;
for (auto listIter = mTable[0].begin(); listIter != mTable[0].end(); ++listIter) {
if (listIter->key == key) {
temp = new Value(listIter->value);
}
}
return temp;
delete temp;
}
1条答案
按热度按时间6pp0gazn1#
这段代码中的内存分配
是多余的。
在return语句之后也是这个语句
从来没有得到控制。它应该被删除。
写吧