for_each c++ stl vector type-conversion

c++ - std::for_each



Vector de conversión C++<int> vector<double> (2)

¿Cuál es una buena manera de convertir un std::vector<int> intVec a std::vector<double> doubleVec . O, más en general, para convertir dos vectores de tipos convertibles?


¿Algún problema? Puedo ejecutar en mi PC. Mi IDE es Code :: blocks.

#include <iostream> #include <vector> #include <iterator> using namespace std; int main() { vector<int> v_int; for (int i=0; i<10; ++i) { v_int.push_back(i); } vector<double> v_float(v_int.begin(), v_int.end()); copy (v_float.begin(), v_float.end(), ostream_iterator<double>(cout, " ")); cout << endl; return 0; }


Use el constructor de rango de std::vector :

std::vector<int> intVec; std::vector<double> doubleVec(intVec.begin(), intVec.end());