【发布时间】:2013-04-19 10:27:04
【问题描述】:
我正在尝试编写一个函数来确定给定的 isbn 编号是否在 QMap 列表中,我发现我没有正确使用 contains,不确定这是否符合逻辑?
bool TextbookMap::foundTextBook(QString isbn) const {
bool found = false;
ConstIterator itr = constBegin();
for ( ; itr != constEnd(); ++itr)
{
if (itr.contains(isbn))
found = true;
}
return found;
}
【问题讨论】:
-
这是一个糟糕的实现,因为即使您找到了条目,您也会继续搜索。使
for循环条件itr != constEnd() && !found。