新的std :: map :: erase()签名C ++ 17

JoãoPaulo:

根据此答案iterator必须将隐式转换为const_iteratorinsert_or_assign()既然如此,正如我们可以在中看到的那样,那么为什么在C ++ 17中添加了新的签名std::map::erase()

在C ++ 11中,我们有 iterator erase( const_iterator pos );

在C ++ 17中,我们现在有了 iterator erase( iterator pos );

不是C ++ 11的签名不够好接收iteratorconst_iterator

TC:

erase(const key_type& key)当您通过时,可能会有歧义iterator考虑其中的情况key_type类似的情况std::any

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章