gpt4 book ai didi

c++ - 在没有迭代器 C++ 的 std::set 中搜索

转载 作者:太空狗 更新时间:2023-10-29 19:53:31 24 4
gpt4 key购买 nike

我有 std::set,其中包含 int 值。现在我使用迭代器来确定 set 是否包含 value

但是我的应用程序经常使用这种搜索,使用迭代器搜索太慢了,我可以这样做吗:

std::set<int> fdsockets;

void myfunc(int fd)
{
if(fdsockets[fd] != fdsockets.end())
{
// my code
}
}

但是我用G++编译的时候有错误

no match for 'operator[]' in 'fdsockets[fd]'

也许我可以用一些东西代替std::set

谢谢!

最佳答案

std::unorered_set或带有二进制搜索的有序 vector 对于简单的成员资格测试更有效。如果整数的最大值较低,则查找表可能是一种替代方法。

关于c++ - 在没有迭代器 C++ 的 std::set 中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13308777/

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