gpt4 book ai didi

c++ - 如何深度复制 unique_ptr 的 vector

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:06:04 25 4
gpt4 key购买 nike

我有一个带有数据成员的容器类。

std::vector< std::unique_ptr<Sum_Function> > Functions;

我想在我的复制构造函数中做一个深拷贝,我怎样才能做一个 std::unique_ptr 的深拷贝。

最佳答案

std::vector<std::unique_ptr<Sum_Function>> copiedFunctions;
std::for_each(Functions.begin(), Functions.end(), [&](std::unique_ptr<Sum_Function> f){
copiedFunctions.push_back(std::make_unique<Sum_Function>(*f));
}));

这意味着 Sum_Function 当然有一个复制构造函数。

关于c++ - 如何深度复制 unique_ptr 的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57707811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com