关注
再好好解释一下: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
相关推荐
点赞 评论 收藏
分享
01-16 00:20
广州城市理工学院 Java 点赞 评论 收藏
分享
02-04 17:01
南昌大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客新年AI问运 #
8317次浏览 116人参与
# 你喜欢工作还是上学 #
89467次浏览 883人参与
# 牛客AI体验站 #
16637次浏览 291人参与
# 被AI治愈的瞬间 #
90676次浏览 685人参与
# 你找工作的时候用AI吗? #
173346次浏览 888人参与
# 有必要和同事成为好朋友吗? #
1300次浏览 26人参与
# 如何提高实习转正率? #
87085次浏览 510人参与
# 听劝,这个公司值得去吗 #
665544次浏览 1996人参与
# 你觉得什么岗位会被AI替代 #
41192次浏览 276人参与
# 为了秋招你都做了哪些准备? #
32620次浏览 534人参与
# 机械人的薪资开到多少,才适合去? #
165165次浏览 573人参与
# 你最满意的offer薪资是哪家公司? #
71519次浏览 355人参与
# 这个工作能去吗 #
115218次浏览 662人参与
# 多益网络工作体验 #
63314次浏览 306人参与
# 工作中的卑微时刻 #
33573次浏览 199人参与
# 秋招吐槽大会 #
304786次浏览 1524人参与
# 央国企投递记录 #
177069次浏览 1655人参与
# 国央企求职进展汇总 #
442730次浏览 3509人参与
# 数字马力求职进展汇总 #
331764次浏览 2381人参与
# 你已经投递多少份简历了 #
1353028次浏览 10821人参与