【发布时间】:2017-07-06 13:31:50
【问题描述】:
如何动态分配 shared_ptr 将指向的“n 个元素”?
我能够创建一个共享指针将指向的静态数组,但我希望用户输入一个数字,然后分配 n 个元素。
shared_ptr<int[10]> p = make_shared<int[10]>();
【问题讨论】:
-
std::shared_ptr<std::vector<int>>? -
不,你不能那样做,不同长度的数组有不同的类型
-
“我能够创建一个共享指针将指向的静态数组”——你最好不要这样做——如果你这样做了,你就处于未定义行为领域。
-
考虑使用
std::array<int, 10>而不是int[10]