std::unordered_map<Key,T,Hash,KeyEqual,Allocator>:: count
From cppreference.net
<
cpp
|
container
|
unordered map
|
size_type count
(
const
Key
&
key
)
const
;
|
(1) | (depuis C++11) |
|
template
<
class
K
>
size_type count ( const K & x ) const ; |
(2) | (depuis C++20) |
1)
Retourne le nombre d'éléments dont la clé est égale à l'argument spécifié
key
, qui est soit
0
soit
1
puisque ce conteneur n'autorise pas les doublons.
2)
Retourne le nombre d'éléments dont la clé est équivalente à l'argument spécifié
x
. Cette surcharge participe à la résolution de surcharge uniquement si
Hash
et
KeyEqual
sont tous deux
transparents
. Cela suppose qu'un tel
Hash
peut être appelé avec les types
K
et
Key
, et que le
KeyEqual
est transparent, ce qui, ensemble, permet d'appeler cette fonction sans construire une instance de
Key
.
Table des matières |
Paramètres
| key | - | valeur clé des éléments à compter |
| x | - | une valeur de tout type pouvant être comparée de manière transparente avec une clé |
Valeur de retour
1)
Nombre d'éléments avec la clé
key
, qui est soit
1
soit
0
.
2)
Nombre d'éléments dont la clé est équivalente à
x
.
Complexité
Constant en moyenne, linéaire dans le pire cas selon la taille du conteneur.
Notes
| Macro de test de fonctionnalité | Valeur | Std | Fonctionnalité |
|---|---|---|---|
__cpp_lib_generic_unordered_lookup
|
201811L
|
(C++20) | Recherche de comparaison hétérogène dans les conteneurs associatifs non ordonnés , surcharge (2) |
Exemple
Exécuter ce code
#include <iostream> #include <string> #include <unordered_map> int main() { std::unordered_map<int, std::string> dict = { {1, "one"}, {6, "six"}, {3, "three"} }; dict.insert({4, "four"}); dict.insert({5, "five"}); dict.insert({6, "six"}); std::cout << "dict: { "; for (auto const& [key, value] : dict) std::cout << '[' << key << "]=" << value << ' '; std::cout << "}\n\n"; for (int i{1}; i != 8; ++i) std::cout << "dict.count(" << i << ") = " << dict.count(i) << '\n'; }
Sortie possible :
dict: { [5]=five [4]=four [1]=one [6]=six [3]=three }
dict.count(1) = 1
dict.count(2) = 0
dict.count(3) = 1
dict.count(4) = 1
dict.count(5) = 1
dict.count(6) = 1
dict.count(7) = 0
Voir aussi
|
trouve l'élément avec une clé spécifique
(fonction membre publique) |
|
|
(C++20)
|
vérifie si le conteneur contient un élément avec une clé spécifique
(fonction membre publique) |
|
retourne la plage d'éléments correspondant à une clé spécifique
(fonction membre publique) |