![](/img/trans.png)
[英]Is std::set `erase ( const key_type& x )` implemented in STL same way ` erase ( collection.find( x ) );` does?
[英]Why does `std::set::erase(const key_type&)` return `size_type` instead of `bool`?
因为std::set
不会insert()
重复,所以可以确保包含唯一元素。 当使用重载erase(const key_type&)
时,它的 object 将包含最多 1 个相同值的元素。 因此,它可能返回 1(如果存在)或 0(否则)。
什么时候erase(const key_type&)
可以返回超过1?
换句话说,返回size_type
而不是简单的bool
的目的是什么?
返回size_type
的目的是保持一致性; 所有关联容器都有一个erase
方法,该方法接受一个键类型并返回一个大小。 即使大小只能是零或一,它仍然是相同的界面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.