Usando un enfoque mutable, podemos usar for_each
para actualizar directamente los elementos de secuencia a través de las referencias.
for_each(begin(myv1), end(myv1), [](double& a) { a *= 3; });
Ha habido cierto debate sobre si va
for_each
es en realidad les permite modificar los elementos como se le llama un "no-mutando" algoritmo.
lo que significa que es for_each
no está permitido para alterar la secuencia opera sobre (que se refiere a los cambios de la estructura de la secuencia - es decir iteradores invalidantes). Esto no significa que no podamos modificar los elementos no const del vector como de costumbre - la estructura en sí misma no se ve afectada por estas operaciones.
.... ¿esto fue tomado de esta otra publicación? http://stackoverflow.com/questions/3885095/c-multiply-vector-elements-by-a-scalar-value-using-stl – ianmac45
@ ianmac45 - sí, he vinculado a esto más arriba –
ah, está bien. se perdió ese – ianmac45