C++ преобразование вектора в вектор



Что такое хороший чистый способ преобразования std::vector<int> intVec до std::vector<double> doubleVec. Или, в более общем плане, преобразовать два вектора конвертируемых типов?

632   2  

2 ответов:

использовать std::vectorконструктор серии S:

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

Comments

    Ничего не найдено.