gpt4 book ai didi

c++ - 有效地测试 QSet 是否包含元素,如果不存在则插入

转载 作者:搜寻专家 更新时间:2023-10-31 02:08:35 24 4
gpt4 key购买 nike

我需要检查 QSet 是否包含某个值,如果不存在,我想插入它并返回一个 bool 值,指示该值是否已插入 (true) 或者它是否已经存在 (false)。我的问题是如何有效地做到这一点。下面的代码实际上是计算散列并搜索集合两次。这是非常低效的。

QSet<QString> names;
bool inserted = false;
QString name = "Dave";
if (!names.contains(name))
{
inserted = true;
names.insert(name);
}

最佳答案

好的,发布问题后我立即意识到这很简单。无论如何,我想我会把问题留给其他人。

int size = names.count();
names.insert(name);
bool inserted = names.count() > size;

关于c++ - 有效地测试 QSet 是否包含元素,如果不存在则插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47381099/

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