En lisant les exemples de std :: hash utilisés pour std :: unordered_map, j'ai remarqué que la fonction operator() était accessible par {}.Pourquoi {} est-il utilisé pour accéder à operator() dans std :: hash?
http://en.cppreference.com/w/cpp/utility/hash
result_type operator()(argument_type const& s) const
{
result_type const h1 (std::hash<std::string>{}(s.first_name));
result_type const h2 (std::hash<std::string>{}(s.last_name));
return h1^(h2 << 1); // or use boost::hash_combine (see Discussion)
}
Qu'est-ce que l'utilisation de {} représenter ici?
https://stackoverflow.com/questions/18222926/why-is-list-initialization-using-curly-braces-better-than-the-alternatives –
Je souhaite C++ a permis 'opérateur statique () 's. –
related/dupe: https://stackoverflow.com/questions/40024008/how-to-understand-two-pairs-of-parentheses-in-this-code-fragment – NathanOliver