gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 15:11:15 25 4
gpt4 key购买 nike

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

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

最佳答案

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

关于c++ - 为什么 `std::set::erase(const key_type&)` 返回 `size_type` 而不是 `bool` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58926259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com