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

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

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

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

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

本文链接:https://www.f2er.com/3076526.html

大家都在问