【发布时间】:2020-03-02 16:02:12
【问题描述】:
我已经读过,如果我想使用来自std::vector<std::unique_ptr<T>> 的push_back,我需要为unique_ptr 定义一个删除器。真的吗?如果是,那么正确的语法是什么?
感谢您的回答
【问题讨论】:
-
1.您是否尝试过推回唯一指针? 2.你考虑过
std::emplace_back吗? -
它的工作方式与其他所有
push_back完全相同。我不知道为什么需要自定义删除器。我建议您发布失败的代码。然后我们可以解释什么是错的。 -
这是真的吗?没有。现场演示:godbolt.org/z/tVHB-5.
-
你可以做
vector.push_back(std::move(ptr))
标签: c++ c++11 std stdvector unique-ptr