关注
再好好解释一下: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问运 #
1945次浏览 43人参与
# 产品人专业大盘点 #
68292次浏览 323人参与
# 牛客AI体验站 #
15361次浏览 271人参与
# 产品每日一题 #
85174次浏览 694人参与
# 牛友的春节生活 #
10314次浏览 204人参与
# 备战春招/暑实,现在应该做什么? #
7030次浏览 198人参与
# 我们是不是被“优绩主义”绑架了? #
31704次浏览 480人参与
# 从夯到拉,锐评职场mentor #
6865次浏览 107人参与
# 制造业的秋招小结 #
143235次浏览 2089人参与
# 实习到现在,你最困惑的一个问题 #
6090次浏览 163人参与
# 春招什么时候投? #
12596次浏览 207人参与
# 找工作中的意难平 #
982727次浏览 6423人参与
# 春节提前走,你用什么理由请假? #
12674次浏览 287人参与
# 距离春招还有一个月,你现在是什么开局? #
8656次浏览 132人参与
# 今年秋招你收到了多少封邮件? #
38150次浏览 280人参与
# 春节前,你还在投简历吗? #
16737次浏览 190人参与
# 暑期实习什么时候投? #
8820次浏览 196人参与
# 数字马力求职进展汇总 #
330860次浏览 2380人参与
# 聊聊Agent开发 #
28773次浏览 654人参与
# 我的省钱小妙招 #
38247次浏览 449人参与
OPPO公司福利 1202人发布