c++ - 为什么`std::set::erase(const key_type&)`返回`size_type`而不是`bool`?
问题描述
因为std::set
不insert()
重复,所以保证包含独特的元素。使用重载erase(const key_type&)
时,它的对象将包含最多 1 个相同值的元素。因此,它可能返回 1(如果存在)或 0(否则)。
什么时候可以erase(const key_type&)
返回超过1?
换句话说,返回 asize_type
而不是 simple的目的是什么bool
?
解决方案
返回的目的size_type
是一致性;所有关联容器都有一个erase
采用键类型并返回大小的方法。即使大小只能是零或一,它仍然是相同的界面。
推荐阅读
- curl - curl 请求在 centOS 上不工作但在 Ubuntu 上工作
- python - 列表中项目的所有组合。所有包含所有项目
- c++ - 自定义容器中括号运算符中的常量
- c++ - 使用常量成员移动类的构造和分配
- sql - 从 varchar 转换为 numeric 后满足空值
- android - Recyclerview 使用显示额外间距的网格布局
- powershell - 从 jenkins 文件中的 powershell 脚本中检索值
- excel - 在 VBA 中使用组合框 VLOOKUP 处理错误
- javascript - Vuejs - 读取 txt 内容
- javascript - 使用 JavaScript 选择 CSS 主题