它们做了类似的事情。
选择这两者之间应该考虑什么?
在哪些情况下会更倾向于选择其中的一个?
它们做了类似的事情。
选择这两者之间应该考虑什么?
在哪些情况下会更倾向于选择其中的一个?
std::vector<std::unique_ptr<T>>
, 原因如下:
boost::ptr_vector
中已经很好地进行了抽象,但是 ptr_vector
仍然是基于 std::vector<void*>
实现的。boost::ptr_vector
可以获得自定义删除器行为,但是当使用 std::unique_ptr
时,支持更加明确(而且显式)。vector<unique_ptr>
是标准的。人们知道它是什么。大多数人可能不知道 boost::ptr_vector
。 - David