问题描述
如何将向量转换/复制为unique_ptr
这是我要实现的(向量起源于另一个上下文,将在复制到unique_ptr后被删除。unique_ptr具有固定长度,因此可以更有效地分配)。
std::vector<int> vv {1,2,3};
struct
U {
U(std::vector<int> v) { // copy constructor
// copy vector v to unique_ptr u,HOW?
}
std::unique_ptr<int[]> u;
};
U uu {vv}; // copy vector vv to unique_ptr uu,HOW?
我试图制作一个副本构造器
U(std::vector<int> v) {
u = std::make_unique<int[]>(v.size()); // OK
std::copy(v.begin(),v.end(),u); // error: u has no copy constructor
}
那么,我应该如何构造副本构造函数?
实际上,而且一旦构造,我希望unique_ptr
std::unique_ptr<int const[]> const u; // const in both length and content
在两种情况下,复制构造函数如何显示?
情况1)std :: unique_ptr
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)