如何动态分配 shared_ptr 将指向的“n 个元素”?
我能够创建一个共享指针将指向的静态数组,但我希望用户输入一个数字,然后分配 n 个元素。
shared_ptr<int[10]> p = make_shared<int[10]>();
原文由 TheDoomDestroyer 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何动态分配 shared_ptr 将指向的“n 个元素”?
我能够创建一个共享指针将指向的静态数组,但我希望用户输入一个数字,然后分配 n 个元素。
shared_ptr<int[10]> p = make_shared<int[10]>();
原文由 TheDoomDestroyer 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
你应该像这样创建
shared_ptr
您必须将其他删除器提供给
shared_ptr
您不能使用
std::make_shared
,因为该函数仅提供 1 个参数,要在数组上创建指针,您也必须创建删除器。或者你也可以使用(比如在注释中,带有数组或带有自己的删除器的向量)
如何获得特定元素?像那样