簡體   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