C ++怎么将vector <int>转换为vector <double>?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (70)

什么是一个很好的方式来转换std::vector<int> intVecstd::vector<double> doubleVec

提问于
用户回答回答于

使用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;
}

扫码关注云+社区

领取腾讯云代金券