1

有没有办法移动一个 unique_ptr

unique_ptr<int[]> foo;

成向量?

vector<int> bar;
4

1 回答 1

5

不,您不能只vector提供一块内存并期望它将其用作数组存储。Avector的存储必须来自使用的分配器vector

您可以尝试使用分配器噱头以vector某种方式将内存典当。但即使这样也很棘手,因为无论您告诉它的大小如何,它都vector可以分配任意数量的 s。int

您可以将 a 的内容移动unique_ptr到数组的元素中。说,如果你有一个vector<unique_ptr<int[]>>. 但是你不能只是把一段记忆塞进一个vector.

于 2013-08-27T15:00:12.000 回答