为什么"std::set::erase(const key_type&)"返回"size_type"而不是"bool"?

Why does `std::set::erase(const key_type&)` return `size_type` instead of `bool`?

本文关键字:type size 返回 bool erase const key std 为什么 set      更新时间:2023-10-16

因为std::set不与insert()重复,所以可以保证它包含唯一的元素。当使用重载erase(const key_type&)时,其对象最多包含1个相同值的元素。因此,它可以返回1(如果存在(或0(否则(。

erase(const key_type&)什么时候可以返回1以上
换句话说,返回size_type而不是简单的bool的目的是什么?

返回size_type的目的是一致性;所有关联容器都有一个erase方法,该方法采用键类型并返回大小。即使大小只能是零或一,它仍然是相同的接口。

相关文章: