我有这个:
struct Node;
typedef boost::intrusive_ptr<Node> NodeSPtr;
...
boost::scoped_array<NodeSPtr> nodes(new NodeSPtr[size]);
...
// "pollute" operations ...
...
// reset all the items in the array
for (size_t i = 0; i < size; ++i)
nodes[i].reset();
什么是初始化数组的最干净、更 STLish 的方法。请注意,代码对性能很敏感,不能选择使用向量。