独占指针指向动态数组的释放

独占指针存在一个函数`u.release()`

C++ primer 上对函数的功能描述为

所以和`reset`函数使用可以转移指针的使用权

unique_ptr<int> uptr1;
unique_ptr<int> uptr2(new int(3));
uptr1.reset(uptr2.release());
//对release()函数,它应该是返回自己指向的内存地址,然后将自己置为空,并不会销毁自己指向的内存

而在和动态数组使用时,书中描写release()语句会自动调用delete[], 这样看来此处release会销毁动态数组的内存,请问各位对此的理解?

#悬赏#
全部评论
但凡我有你这精神学习,也不至于找不到工作
点赞
送花
回复
分享
发布于 2023-05-11 22:02 江苏
上面的声明是不是有点儿问题
点赞
送花
回复
分享
发布于 2023-05-12 11:47 广东
滴滴
校招火热招聘中
官网直投

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务