c++ shared_ptr< int>和shared_ptr〈int[]>之间的区别是什么?

vbkedwbf  于 2023-01-28  发布在  其他
关注(0)|答案(1)|浏览(157)

我有一个类变量ptr,我希望它指向我的一维int数组的第一个元素。
这两个语句之间有什么区别,我应该使用哪一个?

shared_ptr<int> ptr1;
shared_ptr<int[]> ptr2;
li9yvcax

li9yvcax1#

shared_ptr<int>持有指向 * 单个 * intint*指针。预期使用new运算符分配该int(最好通过调用std::make_shared<int>(value)),并使用delete运算符释放该int
shared_ptr<int[]>保存指向int[] * 数组 * 的第一个元素的int*指针。该数组应使用new[]运算符分配(最好通过调用std::make_shared<int[]>(size)),并使用delete[]运算符释放。

相关问题