关注
再好好解释一下: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
相关推荐
昨天 18:45
山东大学 C++ 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 春招什么时候投? #
10164次浏览 174人参与
# 牛友的春节生活 #
7260次浏览 150人参与
# 春节前,你还在投简历吗? #
13612次浏览 160人参与
# 春节提前走,你用什么理由请假? #
10048次浏览 240人参与
# 牛客AI体验站 #
14733次浏览 267人参与
# 实习到现在,你最困惑的一个问题 #
4372次浏览 123人参与
# 从夯到拉,锐评职场mentor #
4809次浏览 70人参与
# 备战春招/暑实,现在应该做什么? #
4775次浏览 151人参与
# 工作后,你落下了哪些病根 #
32329次浏览 277人参与
# 怎么给家人解释你的工作? #
51542次浏览 208人参与
# 距离春招还有一个月,你现在是什么开局? #
6753次浏览 112人参与
# 上班摸鱼,你都在干些什么? #
39067次浏览 246人参与
# 聊聊Agent开发 #
24258次浏览 587人参与
# 暑期实习什么时候投? #
6946次浏览 162人参与
# 什么是优秀的实习经历 #
35907次浏览 387人参与
# 面试经验谈 #
406363次浏览 7217人参与
# 今年秋招你收到了多少封邮件? #
37486次浏览 275人参与
# 推荐一个值得做的AI项目 #
6667次浏览 178人参与
# 考研失败就一定是坏事吗? #
221478次浏览 1539人参与
# 如何看待offer收割机的行为 #
1037476次浏览 6594人参与