See More

#include #include void All(std::unique_ptr &arr, int N, int element) { std::unique_ptr all = std::make_unique(N); for (int i = 0; i < N; ++i) all[i] = element; arr = std::move(all); } int Consume(std::unique_ptr arr, int N) { int sum = 0; int i = -1; while (++i < N) sum += arr[i]; return sum; } int main() { const int N = 10; std::unique_ptr arr = std::make_unique(N); All(arr, N, 1); assert(Consume(std::move(arr), N) == 10); return 0; }