push_back c++ para que sirve
Algoritmo STL para Vector Add (1)
Lo que desea hacer se puede lograr usando std::transform . En tu caso:
std::transform(foo.begin(), foo.end(), bar.begin(), foo.begin(), std::plus<int>());
std::transform es compatible con lambdas, por lo que puedes realizar operaciones más complicadas entre los elementos del vector .
Digamos que tengo dos vector<int> s:
vector<int> foo{1, 2, 3};
vector<int> bar{10, 20, 30};
Ahora quiero hacer un vector agregar sobre ellos de modo que el resultado sería:
11
22
33
¿Hay algún algoritmo de STL que maneje esto, o necesito usar un ciclo for :
for(auto i = 0; i < foo.size(); ++i){
foo[i] += bar[i];
}
Pregunta de bonificación, ¿qué pasa si quiero hacer algo más complicado que agregar, decir que foo era un vector<string> y la bar seguía siendo un vector<int> . Espero que, si hay un algoritmo STL que puedo usar, ¿también podría ser compatible con lambdas?