Questions marquées «unordered-map»



3
Comment spécialiser std :: hash <Key> :: operator () pour le type défini par l'utilisateur dans des conteneurs non ordonnés?
Pour prendre en charge les types de clés définis par l'utilisateur dans std::unordered_set&lt;Key&gt;et std::unordered_map&lt;Key, Value&gt; il faut fournir operator==(Key, Key)un foncteur de hachage: struct X { int id; /* ... */ }; bool operator==(X a, X b) { return a.id == b.id; } struct MyHash { size_t operator()(const X&amp; x) …

2
L'opérateur std :: unordered_map [] effectue-t-il une initialisation à zéro pour une clé non existante?
Selon cppreference.com, std::map::operator[]pour une valeur non existante, l'initialisation à zéro est effectuée. Cependant, le même site ne mentionne pas l'initialisation zéro pour std::unordered_map::operator[], sauf qu'il a un exemple qui s'appuie sur cela. Bien sûr, ce n'est qu'un site de référence, pas la norme. Alors, le code ci-dessous est-il correct ou …

1
Fuite de mémoire pendant unordered_map :: insert exception KeyEqual avec GCC - rompre la garantie de sécurité d'exception forte?
J'utilise GCC 7.3.1, mais aussi testé sur coliru, qui je crois est la version 9.2.0. Construisez avec les éléments suivants: g++ -fsanitize=address -fno-omit-frame-pointer rai.cpp Voici rai.cpp: #include &lt;iostream&gt; #include &lt;unordered_map&gt; int main() { try { struct MyComp { bool operator()(const std::string&amp;, const std::string&amp;) const { throw std::runtime_error("Nonono"); } }; std::unordered_map&lt;std::string, …
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.