Preguntas etiquetadas con unordered-map



3
¿Cómo especializar std :: hash <Key> :: operator () para el tipo definido por el usuario en contenedores desordenados?
Para admitir tipos de clave definidos por el usuario en std::unordered_set&lt;Key&gt;y std::unordered_map&lt;Key, Value&gt; uno tiene que proporcionar operator==(Key, Key)un functor hash: struct X { int id; /* ... */ }; bool operator==(X a, X b) { return a.id == b.id; } struct MyHash { size_t operator()(const X&amp; x) const { …

2
¿El operador std :: unordered_map [] realiza una inicialización cero para la clave no existente?
Según cppreference.com, std::map::operator[]para el valor no existente, la inicialización cero. Sin embargo, el mismo sitio no menciona la inicialización cero para std::unordered_map::operator[], excepto que tiene un ejemplo que se basa en esto. Por supuesto, este es solo un sitio de referencia, no el estándar. Entonces, ¿el código a continuación está …

1
Pérdida de memoria durante un_orped_map :: inserte la excepción KeyEqual con GCC - ¿rompiendo la fuerte garantía de seguridad de excepción?
Estoy usando GCC 7.3.1, pero también probé en coliru, que creo que es la versión 9.2.0. Construir con lo siguiente: g++ -fsanitize=address -fno-omit-frame-pointer rai.cpp Aquí está 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"); } }; …
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.