std::unique_ptr 的 get() 可以用来获取指针指向位置的实际地址,但是如果在 reset() 之前被暂存起来了,那么 reset() 之后便不会影响存起来的那个值,如果认为 reset() 会影响之前暂存的值,则会导致dangling pointer 访问,从而触发段错误,demo如下:
尽量使用 shared_ptr ,如果确定要使用 unique_ptr , 那么一定要保证多线程场景下 get() 在使用时进行了 ptr 的转移,否则极可能误操作导致崩溃。
std::unique_ptr 的 get() 可以用来获取指针指向位置的实际地址,但是如果在 reset() 之前被暂存起来了,那么 reset() 之后便不会影响存起来的那个值,如果认为 reset() 会影响之前暂存的值,则会导致dangling pointer 访问,从而触发段错误,demo如下:
尽量使用 shared_ptr ,如果确定要使用 unique_ptr , 那么一定要保证多线程场景下 get() 在使用时进行了 ptr 的转移,否则极可能误操作导致崩溃。
循坏语句的三种用法
std::weak_ptrIt must be converted to std::shared_ptr i
前言智能指针是行为类似于指针的类对象,单这种对象还有其他功能。本文介绍三个可帮助管理动态
文章目录1.unique_ptr特点2.unique_ptr例子3.unique_ptr总结4.shared_ptr特点5.shar
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M