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

时间:2011-06-18 21:50:43

标签: c++ stl vector type-conversion

std::vector<int> intVec转换为std::vector<double> doubleVec的干净方法是什么?或者,更一般地说,转换两个可转换类型的向量?

2 个答案:

答案 0 :(得分:139)

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

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

答案 1 :(得分:0)

使用std::transform算法:

std::transform(intVec.begin(), intVec.end(), doubleVec.begin(), [](int x) { return (double)x;});