Initialization using std::move. Data content will be discarded:
std::unique_ptr<int[]> newData = std::move(data);
what if the array is of different size?
, - :
const int length = 10;
std::unique_ptr<int[]> data(new int[length]);
...
const int length2 = 20;
std::unique_ptr<int[]> newData(new int[length2]);
std::copy_n(data.get(), std::min(length, length2), newData.get());
newData , std::array<int, SIZE> int[], .