ptr_vector
是可复制的,可复制的。当它不知道具体类型时,它如何深层复制底层对象?
答案 0 :(得分:8)
boost::ptr_vector
容器有一个可选的模板参数CloneAllocator
,用于定义克隆策略。默认分配器是heap_clone_allocator
,它只调用复制构造函数来克隆对象。
Clone Allocator用作在克隆周围添加间接层的方法。例如,它允许您提供正确处理不可复制类型克隆的自定义分配器。
您可以在the Boost Pointer Containers Library documentation中找到更多信息,其中介绍了Clonable和Clone Allocator概念。