C ++将vector <int>转换为vector <double>

std::vector<int> intVecstd::vector<double> doubleVec的好方法是什么? 或者更一般地说,转换两种可转换types的向量?

使用std::vector的范围构造函数:

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

任何问题? 我可以在我的电脑上运行。 我的IDE是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; }