关注
再好好解释一下: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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客新年AI问运 #
7446次浏览 112人参与
# 你喜欢工作还是上学 #
89293次浏览 883人参与
# 牛客AI体验站 #
16462次浏览 288人参与
# 你找工作的时候用AI吗? #
173217次浏览 888人参与
# 被AI治愈的瞬间 #
90534次浏览 685人参与
# 有必要和同事成为好朋友吗? #
1176次浏览 23人参与
# 听劝,这个公司值得去吗 #
665261次浏览 1996人参与
# 为了秋招你都做了哪些准备? #
32570次浏览 534人参与
# 这个工作能去吗 #
115025次浏览 662人参与
# 多益网络工作体验 #
63237次浏览 306人参与
# 秋招吐槽大会 #
304545次浏览 1524人参与
# 你觉得什么岗位会被AI替代 #
41050次浏览 275人参与
# 工作中的卑微时刻 #
33500次浏览 199人参与
# 数字马力求职进展汇总 #
331630次浏览 2381人参与
# 非技术岗薪资爆料 #
490410次浏览 3041人参与
# 我们是不是被“优绩主义”绑架了? #
32821次浏览 487人参与
# 产品面经 #
261198次浏览 2173人参与
# 如何提高实习转正率? #
86703次浏览 505人参与
# 大学最后一个寒假,我想…… #
89365次浏览 809人参与
# 正在实习的碎碎念 #
1645452次浏览 13716人参与