Perguntas com a marcação «unordered-map»



3
Como especializar std :: hash <Key> :: operator () para o tipo definido pelo usuário em contêineres não ordenados?
Para oferecer suporte a tipos de chaves definidas pelo usuário em std::unordered_set&lt;Key&gt;e std::unordered_map&lt;Key, Value&gt; é necessário fornecer operator==(Key, Key)um 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
O operador std :: unordered_map [] faz a inicialização zero para a chave não existente?
De acordo com cppreference.com, std::map::operator[]para valor inexistente, a inicialização é zero. No entanto, o mesmo site não menciona inicialização zero std::unordered_map::operator[], exceto que possui um exemplo que depende disso. Claro que este é apenas um site de referência, não o padrão. Então, o código abaixo está ok ou não? #include …

1
Vazamento de memória durante a exceção unordered_map :: insert KeyEqual no GCC - quebrando a forte garantia de segurança de exceções?
Estou usando o GCC 7.3.1, mas também testei no coliru, que acredito ser a versão 9.2.0. Crie com o seguinte: g++ -fsanitize=address -fno-omit-frame-pointer rai.cpp Aqui 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"); } }; …
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.