4

我正在尝试有效地从 std::list 初始化 std::vector ,但我没有任何运气。

例如,它想要这样的东西:

void myFunc(std::list<double>::iterator begin, std::list<double>::iterator end)
{
    std::vector <double> data(begin, end);
    // or
    std::vector <double> data;
    data::insert(data.begin(), data.end());
}

但是,这不起作用,因为容器似乎只支持它们自己的迭代器类型?我错过了什么吗?我想要完成的事情不是那么容易吗?

4

1 回答 1

4

你的第一个版本

std::vector<double> data(begin, end);

是正确的。

你的第二个版本应该是

std::vector<double> data;
data.insert(data.begin(), begin, end);
于 2011-09-17T06:22:04.723 回答