我被限制使用C ++ stdlib并寻找相同的内存释放行为提升ptr_array。如您所知,这会自动释放包含指针列表的内存。
无论如何要在C ++ 11或更高版本的容器中获得相同的行为?
答案 0 :(得分:3)
您可以使用任何支持移动语义的容器以及唯一或共享指针:container<std::unique_ptr<T>>
。在您的情况下,直接等效值为std::array<std::unique_ptr<T>, n>
答案 1 :(得分:2)
新引入的智能指针如std::shared_ptr
与标准容器兼容。将它们用作元素:std::vector<std::shared_ptr<MyType>>
。