关注
再好好解释一下: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
相关推荐
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
12201次浏览 160人参与
# 你的mentor是什么样的人? #
51114次浏览 720人参与
# 程序员找工作至少要刷多少题? #
20999次浏览 268人参与
# 我和mentor的爱恨情仇 #
106246次浏览 947人参与
# 论秋招对个人心气的改变 #
13185次浏览 181人参与
# 机械人避雷的岗位/公司 #
44072次浏览 307人参与
# 为了减少AI幻觉,你注入过哪些设定? #
5916次浏览 178人参与
# 秋招落幕,你是He or Be #
54208次浏览 618人参与
# 校招第一份工作你干了多久? #
136620次浏览 597人参与
# 高薪高压 vs 低薪wlb,你怎么选? #
47381次浏览 290人参与
# 设计人如何选offer #
189700次浏览 868人参与
# 考公VS就业,你怎么选? #
91971次浏览 507人参与
# 职场上哪些行为很加分? #
322513次浏览 3600人参与
# 你的秋招进行到哪一步了 #
2530765次浏览 23253人参与
# 牛客AI体验站 #
7661次浏览 205人参与
# 机械人还在等华为开奖吗? #
312116次浏览 1582人参与
# 秋招投递记录 #
380903次浏览 3204人参与
# 12306一秒售罄,你抢到回家的票了吗? #
2295次浏览 52人参与
# 我现在比当时_,你想录用我吗 #
9335次浏览 126人参与
# 重来一次,我还会选择这个专业吗 #
411242次浏览 3898人参与