*w.get()和*w输出的结果都是一样的,他们的区别是什么呢?
来源:6-17 智能指针unique_ptr

卷王Charles
2022-02-12
看到其他问题中老师已经回复了,w.get()返回的是w中包裹的内容,在实际的项目中,哪种场景下需要使用w.get(),哪种场景又是直接使用w呢?
写回答
2回答
-
有的时候,你可以希望将智能指针所包裹的对象直接赋值给另一个指针。两个智能指针共同给管理一个对象,这时可以考虑使用get,比如w1 = w.get(); 这样w和w1共同管理一个对象,所以就*w1做的一切,都会反应到w指向的对象上。
012022-02-13 -
卷王Charles
提问者
2022-02-13
根据老师的回复重新实验后做个记录吧,确实可以通过.get()获取到指针,如图1,如果直接将w赋值给一个智能指针,则会报错,如图2
00
相似问题