gpt4 book ai didi

c++ - multimap::erase() 标准行为?

转载 作者:太空宇宙 更新时间:2023-11-04 15:24:44 25 4
gpt4 key购买 nike

我一直在比较 multimap::erase 函数的文档。查看 Josuttis 和 cplusplus.com 后,看起来好像有三个重载:

void erase(iterator position);
size_type erase(const key_type& x);
void erase(iterator first, iterator last);

然而,MSDN documentaion似乎暗示了三种略有不同的重载:

iterator erase(iterator where);
iterator erase(iterator first, iterator last);
bool erase(key_type key)

为什么会有差异?我是不是有点慢了,看错了文档,或者是标准发生了变化,我只是在看过时的文档?

最佳答案

正确的重载是(来自 http://en.cppreference.com/w/cpp/container/multimap/erase ):

void erase( iterator position );                                    (until C++11) 
iterator erase( const_iterator position ); (since C++11)

void erase( iterator first, iterator last ); (until C++11)
iterator erase( const_iterator first, const_iterator last ); (since C++11)

size_type erase( const key_type& key );

cplusplus.com 文档已过时; Microsoft 文档完全不正确(重载可能是从 map 文档中错误复制的);后面确实说第三种形式返回被移除元素的数量,所以显然不能返回bool

关于c++ - multimap::erase() 标准行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11310252/

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