gpt4 book ai didi

c++ - 使用 set 检测重复项

转载 作者:可可西里 更新时间:2023-11-01 18:02:56 25 4
gpt4 key购买 nike

我正在处理不应弹出两次的数据。如果是,它应该检测到它并调用一个函数来处理它。

目前,我正在将一些数据推送到一个 vector ,在插入之前,它应该检查数据是否已包含在该 vector 中。目前,这不是很有效,例如

for (int i = 0; i < myVector.size() ; i++) 
{
if ( myVector[i] == data )
{
// invoke function
return false;
}
}

我知道 set 是一种特殊的 vector ,它只允许唯一数据。

是否有另一种方法来检测添加(或至少尝试添加)到 set 的重复数据?

最佳答案

首先让我们明确一点,集合 不是一种特殊的 vector 。它是一种容器,与 vector 正交,恰好可以防止重复。

您可以通过检查 insert 的返回值来检测重复项:

if(my_set.insert("value").second == false) { do_something_for_duplicate(); }

关于c++ - 使用 set 检测重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36135653/

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