关注
再好好解释一下: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
相关推荐
2025-12-15 11:27
门头沟学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 论秋招对个人心气的改变 #
3552次浏览 69人参与
# 牛客AI体验站 #
1812次浏览 63人参与
# 刚入职的你踩过哪些坑 #
2512次浏览 61人参与
# 在大厂上班是一种什么样的体验 #
2069次浏览 26人参与
# 程序员找工作至少要刷多少题? #
4799次浏览 81人参与
# 关于春招/暑期实习,你想知道哪些信息? #
2691次浏览 64人参与
# 一张图晒一下你的AI员工 #
1630次浏览 45人参与
# 为了减少AI幻觉,你注入过哪些设定? #
1020次浏览 35人参与
# 我现在比当时_,你想录用我吗 #
2544次浏览 42人参与
# 程序员能干到多少岁? #
3686次浏览 53人参与
# 产品人求职现状 #
320329次浏览 2422人参与
# AI Coding的使用心得 #
1470次浏览 38人参与
# 你的工资什么时候发? #
55491次浏览 345人参与
# 实习,不懂就问 #
163038次浏览 1453人参与
# 你投了多少份简历了? #
421519次浏览 3937人参与
# 金三银四,你有感觉到吗 #
679421次浏览 6047人参与
# 帆软软件工作体验 #
12478次浏览 67人参与
# 暑假倒计时,你都干了些啥? #
40147次浏览 213人参与
# 晒晒你司的新年福利 #
2416次浏览 47人参与
# 软开人,秋招你打算投哪些公司呢 #
180009次浏览 1379人参与
