通常,我们可以通过动态分配的花括号初始化来创建数组。
但是使用智能指针,特别是使用std::make_unique是否可能实现这一点呢?我尝试了以下代码:
int* arr = new int[5]{1,1,2,4,5};
但是使用智能指针,特别是使用std::make_unique是否可能实现这一点呢?我尝试了以下代码:
unique_ptr<int[]> arr(5) {1,1,2,4,5};
unique_ptr<int[]> arr = make_unique<int[]>(5){1,1,2,4,5};
unique_ptr<int[]> arr = make_unique<int[]>({1,1,2,4,5});
但是没有用,我已经到了一个认为使用智能指针可能根本不可能的地步。有没有关于如何使用花括号初始化智能指针的建议将不胜感激。
是的,我知道std::vector
,但希望有另一种选择。