我正在尝试复制通过向量内的构造函数传递的值。这是代码:
class Foo {
public:
template<typename T>
Foo(T begin, T end)
{
std::copy(begin, end, data.begin());
}
void printVector()
{
cout << data.size();
}
protected:
std::vector<double> data;
};
主要的:
std::vector<double> data = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
};
Foo::Foo f(
std::begin(data),
std::begin(data)
);
f.printVector();
有人可以解释为什么这不起作用吗?另外,如果我有一个std::vector<vector<double> > data
2D 向量,并且我传入了 2D 向量的迭代器,是否可以将其复制到 2D 向量?
谢谢