面试题

本文讨论了在类中使用指针作为成员变量时需要注意的问题,特别是浅拷贝可能导致的内存释放错误。浅拷贝会使得两个对象的指针指向同一内存区域,若不妥善处理,可能会出现双重释放。解决这个问题的方法包括使用智能指针,如unique_ptr,以及利用移动构造函数来确保正确地转移资源所有权。此外,还提到了auto_ptr的不适用性,并探讨了移动构造函数在避免浅拷贝问题上的作用。
摘要由CSDN通过智能技术生成

1.如果一个类中存在一个成员变量是指针类型,你要注意什么

答:浅拷贝和深拷贝

2.浅拷贝会引起啥问题

答:拷贝的指针指向同一块内存空间,一个释放之后,另一个再释放,就会释放已经释放的空间吧

 

[‎2020/‎10/‎14 10:14]  钱师哲: 

嗯嗯是的

那有什么方法可以规避这个浅拷贝的问题呢

 

[‎2020/‎10/‎14 10:15]  王猛28: 

智能指针么

 

[‎2020/‎10/‎14 10:15]    

是的,厉害的

还有吗

 

[‎2020/‎10/‎14 10:16]  王猛28: 

emmm

 

[‎2020/‎10/‎14 10:16]  钱师哲: 

移动构造函数可能也可以的吧

 

[‎2020/‎10/‎14 10:16]  王猛28: 

wc

我忘了这是个啥,但是我感觉好熟悉

可以可以

一会看看

 

[‎2020/‎10/‎14 10:17]  钱师哲: 

智能指针如果要用的话用哪一个呢

 

[‎2020/‎10/‎14 10:18]  王猛28: 

unique那个么

 

[‎2020/‎10/‎14 10:18]  钱师哲: 

auto_ptr可以用吗

 

[‎2020/‎10/‎14 10:19]  王猛28: 

不行吧

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值