由于std::set
不重复insert()
,因此可以确保包含唯一元素。使用重载erase(const key_type&)
时,其对象将包含最多1个相同值的元素。因此,它可能返回1(如果存在)或0(否则)。
erase(const key_type&)
何时可以返回大于1的值?
换句话说,返回size_type
而不是简单的bool
的目的是什么?
由于std::set
不重复insert()
,因此可以确保包含唯一元素。使用重载erase(const key_type&)
时,其对象将包含最多1个相同值的元素。因此,它可能返回1(如果存在)或0(否则)。
erase(const key_type&)
何时可以返回大于1的值?
换句话说,返回size_type
而不是简单的bool
的目的是什么?
返回size_type
的目的是保持一致性;所有关联容器都有一个erase
方法,该方法采用键类型并返回大小。即使大小只能为零或一,它仍然是相同的界面。