Почему неупорядоченные операции набора _, такие как подсчет и стирание, возвращают тип размера _?

По-видимому,unordered_set::eraseиunordered_set::countвернуть что-то, что не является строго логическим (логически, то есть я не говорю о фактическом типе ).

На связанной странице указана третья версия стирания :

size_type erase( const key_type& key );

Removes the elements with the key value key

. У этого есть тон, который предполагает, что может быть более одного элемента с данным ключом. Об этом прямо не говорится, но очень похоже.
Теперь смысл множества, даже неупорядоченного, состоит в том, чтобы каждый элемент был один раз.

Стандартная библиотека признает существование типа boolи использует его для логических значений, таких какunordered_set::empty(). Итак, какой смысл возвращать size_typeв случаях выше? Даже несмотря на коллизии хэшей, контейнер должен различать элементы с разными ключами, верно? Могу ли я все еще полагаться на это?

5
задан bitmask 8 August 2012 в 07:00
поделиться