智能指针make_unique初始化数组的两种方法:
//方法1
std::unique_ptr<int[]> ptr1{ new int[5]{1,2,3,4,5} };
//方法2
auto ptr2 = std::make_unique<std::array<int, 5>>(std::array<int, 5>{1, 2, 3, 4, 5});
但还是建议使用vector来表示数组,如下:
//方法3
shared_ptr<vector<int>> ptr3 = make_shared<vector<int>>();