C ++将vector <int>转换为vector <double>
将std::vector<int> intVec
为std::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; }