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 に答える