社区
侯捷的课程社区_NO_1
C++新标准11/14
帖子详情
shared_pointer
极客日报
2024-11-19 08:36:54
课时名称
课时知识点
shared_pointer
...全文
53
回复
打赏
收藏
shared_pointer
课时名称课时知识点shared_pointer
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
智能指针类型转换.pdf
智能指针类型转换 在编写基于虚函数的多态代码时,指针的类型转换很有⽤,⽐如把⼀个基类指针转型为⼀个⼦类指针或者反过来。但是对于share_ptr不能使⽤诸如 static_cast
(p.get())的形式,这将导致转型后的指针⽆法再被
shared
_ptr正确管理。为了⽀持这样的⽤法,
shared
_ptr提供了类似的转型函数 static_
point
er
_cast
()、const_
point
er
_cast
()、dynamic_
point
er
_cast
(),它们与标准的转型操作符static_cast
()、const_cast
()和dynamic_cast
()类似,但返回的转型后的
shared
_ptr。 例如,下⾯的代码使⽤ dynamic_
point
er
_cast
()把⼀个
shared
_ptr
向下转型为⼀个
shared
_ptr
,然后⼜⽤ static_
point
er
_cast
()重新转为
shared
_ptr
: 01.
shared
_ptr
sp1(new bad_exception("
er
ror")); 02.
shared
_ptr
sp2 = dynamic_
point
er
_cast
(sp1); 03.
shared
_ptr
sp3 = static_
point
er
_cast
(sp2); 04. ass
er
t(sp3 == sp1);
Smart
Point
er
.zip
剪裁好的boost智能指针文件
极好用的
SHARED
DATA 和
Point
er
用于重复类数据生成消费处理,一次性生成数据对象,多外使用,回收后内存又可以反复使用。 隆重推荐:T
Shared
Point
er
, TExplicitly
Shared
Data
Point
er
另有T
Shared
Data
Point
er
也不错。
tcmalloc_crash:gp
er
ftools问题1066的示例
tcmalloc_crash gp
er
ftools问题1066的示例 main.C-执行dlopen并调用已加载的.so shlib.C-打印对stdout的函数调用 例子 使用g ++-9.2编译.so要求dlopen'ing main()至少具有与.so一样多的tcmalloc: g++-9.2 -o libcrash.so -
shared
shlib.C -fPIC -ltcmalloc g++-9.2 -o load
er
main.C -ldl $ ./load
er
./libcrash.so "hello, world" src/tcmalloc.cc:283] Attempt to free invalid
point
er
0x23c5500 Aborted g++-9.2 -o libcrash.so -
shared
shlib.C -fPIC -ltcmalloc g
c++动手实现智能指针之
shared
_
point
er
参考:https://blog.csdn.net/weixin_44056971/article/details/118637756。
侯捷的课程社区_NO_1
2
社区成员
204
社区内容
发帖
与我相关
我的任务
侯捷的课程社区_NO_1
给技术人奉上当日新鲜的科技资讯和优质技术干货。
复制链接
扫一扫
分享
社区描述
给技术人奉上当日新鲜的科技资讯和优质技术干货。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章