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

Bil*_*eal 6 c++

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

Jam*_*lis 8

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

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

您可以在Boost Pointer Containers Library文档中找到更多信息,该文档介绍了Clonable和Clone Allocator概念.