• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2021-02-16 05:02 Aet 隐藏边栏 |   抢沙发  3 
文章评分 1 次,平均分 5.0

shared_ptr

shared_ptr采用引用计数的方式管理所指向的对象。当有一个新的shared_ptr指向同一个对象时(复制shared_ptr等),引用计数加1。当shared_ptr离开作用域时,引用计数减1。当引用计数为0时,释放所管理的内存。
可以使用make_shared来获得shared_ptr

shared_ptr可以使用一个new表达式返回的指针进行初始化。 但是,不能将一个new表达式返回的指针赋值给shared_ptr

unique_ptr

不可以对unique_ptr进行拷贝、赋值等操作,但是可以通过release函数在unique_ptr之间转移控制权。

weak_ptr

weak_ptr一般和shared_ptr配合使用。它可以指向shared_ptr所指向的对象,但是却不增加对象的引用计数。这样就有可能出现weak_ptr所指向的对象实际上已经被释放了的情况。因此,weak_ptr有一个lock函数,尝试取回一个指向对象的shared_ptr

构造函数中调虚函数

可以调用,但被调用的虚函数不会表现出多态性。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2021-11-20
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享