关注
再好好解释一下:process的形参是shared_ptr<int> ptr,那么把 int
*x传进去是很错误的,因为x是普通指针,不能直接强转为shared_ptr<int>类型,所以"process( x )
"是错误的,但是primer是告诉你这样做是错误的,没说是这样定义好了,然后告诉你下面这行"process( shared_ptr<int>(x) ) ;
"可以通过编译,但是这样的话,这是一个临时对象" shared_ptr<int>(x)
",传进process里后,执行后会销毁,但是引用计数会减1,因为你刚刚开始使用的普通指针,引用计数为0,拷贝后也是1,销毁后就是0,那么int
j=*x;就是一个很危险的行为,如果你使用的上面的shared_ptr<int> p(new
int(1024));那么刚刚开始引用计数就是1了,int i=*p;就是正确的
查看原帖
3 2
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 哪些公司开春招了? #
40892次浏览 229人参与
# 关于提前批我想问 #
278807次浏览 2340人参与
# 小厂一定不能去吗? #
2132次浏览 31人参与
# 如果没找到工作,考公是你的退路吗 #
64773次浏览 450人参与
# 三月的小目标 #
746次浏览 21人参与
# 实习心态崩了 #
105751次浏览 535人参与
# 为了秋招你都做了哪些准备? #
33252次浏览 539人参与
# 通信/硬件求职避坑tips #
143630次浏览 1092人参与
# 牛友的志愿填报指南 #
54091次浏览 377人参与
# 秋招笔试记录 #
366957次浏览 2103人参与
# 计算机专业还有必要去大厂卷吗 #
57073次浏览 232人参与
# 应届生,你找到工作了吗 #
116424次浏览 713人参与
# 通信硬件薪资爆料 #
1241547次浏览 7219人参与
# 我的求职精神状态 #
436314次浏览 3109人参与
# 业务面应该做哪些准备 #
98523次浏览 1102人参与
# 如果再来一次,你还会学硬件吗 #
156140次浏览 1470人参与
# 23届的你们都什么时候入职? #
238150次浏览 1124人参与
# 一人推荐一个机械人值得去的公司 #
473732次浏览 4288人参与
# 秋招感动瞬间 #
116207次浏览 521人参与
# 你找工作的时候用AI吗? #
182832次浏览 931人参与