繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM