iteración en un vector que funciona:std :: for_each sobre std :: set, C++ 11
std::vector<int> collection = {2, 3, 4, 5435345, 2};
std::for_each(collection.begin(), collection.end(), [](int& i){cout << i << endl;});
pero no más de un conjunto (Error de compilación):
std::set<int> collection = {2, 3, 4, 5435345, 2};
std::for_each(collection.begin(), collection.end(), [](int& i){cout << i << endl;});
Por qué puede' ¿Puedo iterar sobre std::set
con std::for_each
?
Bono pregunta: También, me gustaría cambiar el int&
en el argumento de la lambda para auto&
, ¿por qué no puede deducirse automáticamente esto?
¿Dónde oíste eso? En el blog de Herb sutter menciona que no agregarán lambda polimórfica hasta que se haya resuelto el problema de los conceptos, porque todavía quieren una característica similar a conceptos en el futuro. –
lol qué político. :) así que saca eso de la respuesta, ¿quieres? – wilhelmtell