什么是一个好的干净的方式转换 std::vector<int> intVec到 std::vector<double> doubleVec。或者,更一般地,转换两个可转换类型的向量?
std::vector<int> intVec
std::vector<double> doubleVec
使用 std::vector的范围构造函数:
std::vector
std::vector<int> intVec; std::vector<double> doubleVec(intVec.begin(), intVec.end());
使用 std::transform算法:
std::transform
std::transform(intVec.begin(), intVec.end(), doubleVec.begin(), [](int x) { return (double)x;});