gpt4 book ai didi

c++ - std::set `erase ( const key_type& x )` 是否以与 ` erase ( collection.find( x ) );` 相同的方式在 STL 中实现?

转载 作者:行者123 更新时间:2023-11-28 03:39:47 25 4
gpt4 key购买 nike

是否 std::set erase ( x ) 在 STL 中以相同的方式实现 erase ( collection.find( x ) ); (其中 xconst key_type&) 吗?

最佳答案

我确信它们可能非常相似,但它们会有差异,因为一个必须以某种方式处理“未找到”的元素,而另一个则不需要担心(并且可能不会'在非调试版本中)。

  • std::set::erase( const key_type& ) 将返回 01 取决于匹配元素是否为找到删除。

  • std::set::erase( iterator ) 不返回任何内容,并且仅当传入的迭代器可取消引用时才定义行为。因此,如果您传入 find(x),而 x 不在集合中,则会出现问题。

关于c++ - std::set `erase ( const key_type& x )` 是否以与 ` erase ( collection.find( x ) );` 相同的方式在 STL 中实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9642270/

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