我看到这里有一个非常接近的Q/A:Iterating over a container of unique_ptr's然而,当它涉及到映射的迭代时,我不知道如何避免复制/分配unique_ptr。当我迭代映射时,例如,为了简单起见,使用c++17,假设x是Foo的int类型的公共成员变量: map<string, unique_ptr<Foo> > my_map;
for (auto constT2>::pai
C<B, B, A> bba;
我希望使用std::unique_ptr和std::make_unique来避免显式调用new,并在析构函数中迭代v_以删除它(v_将变成std::vector<std::unique_ptr<A>>),但无法解决如何将std::make_unique与初始化列表和变量扩展结合起来(我怀疑这是因为std::unique_ptr仅移动)。