que tienen un std :: unordered_map¿Cómo seleccionar el tipo de iterador usando la variable automática?
std::unordered_map<std::string, std::string> myMap;
Quiero conseguir un iterador const utilizando hallazgo. En C++ 03 Haría
std::unordered_map<std::string, std::string>::const_iterator = myMap.find("SomeValue");
en C++ 11 que me gustaría utilizar automóviles en lugar de reducir las plantillas
auto = myMap.find("SomeValue");
Será este un const_iterator o iterador? ¿Cómo decide el compilador cuál usar? ¿Hay alguna manera de obligarlo a elegir const?
Tal vez el compilador está haciendo en toda la función de la inferencia de tipos ... Pero ¿por qué el constness de los asuntos iterador para usted? –
A menos que mi comprensión de la sobrecarga sea incorrecta (o http://en.cppreference.com/w/cpp/container/unordered_map/find es incorrecta), 'nonConstMap.find' siempre devuelve un' iterator'. El tipo de devolución y lo que haces con el resultado (por ejemplo, pasarlo a un constructor 'const_iterator') no afecta qué sobrecarga se elige. Es decir, solo devuelve un 'const_iterator' si llama a' constMap.find'. – delnan