boost :: ptr_vector如何深层复制底层对象?

时间:2010-08-07 02:15:57

标签: c++

ptr_vector是可复制的,可复制的。当它不知道具体类型时,它如何深层复制底层对象?

1 个答案:

答案 0 :(得分:8)

boost::ptr_vector容器有一个可选的模板参数CloneAllocator,用于定义克隆策略。默认分配器是heap_clone_allocator,它只调用复制构造函数来克隆对象。

Clone Allocator用作在克隆周围添加间接层的方法。例如,它允许您提供正确处理不可复制类型克隆的自定义分配器。

您可以在the Boost Pointer Containers Library documentation中找到更多信息,其中介绍了Clonable和Clone Allocator概念。