我试图复制是通过一个载体内的构造传递的值。下面是代码:复制迭代器传递给构造函数,向量
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
二维矢量,并且我传递了二维矢量的迭代器,是否可以将其复制到二维矢量?
感谢
当你说“不工作”时,你应该给出更多细节。发生了什么? – doctorlove