博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
智能指针shared_ptr使用学习
阅读量:5940 次
发布时间:2019-06-19

本文共 459 字,大约阅读时间需要 1 分钟。

当需要shared_ptr实现向上向下转换时,可以使用 dynamic_pointer_cast 来进行转换

下面是例子:

 

 

#include 
using namespace std;class a{public: virtual ~a(){};};typedef shared_ptr
aptr;class b: public a{};typedef shared_ptr bptr;int _tmain(int argc, _TCHAR* argv[]){ b* bb = new b; aptr aq(bb); bptr bq; bq = dynamic_pointer_cast(aq); return 0;}

如上例子,可以把指向父类的智能指针赋给指向子类的只能指针。

需要注意的是想要实现这样的转换,父类必须至少有一个虚函数,如例子中class a有一个虚析构函数。

 

转载于:https://www.cnblogs.com/vkensou/p/10300191.html

你可能感兴趣的文章
《配置管理最佳实践》——2.10 建立构建过程
查看>>
《C++入门经典(第5版•修订版)》——2.6 问与答
查看>>
PLM调研第二天
查看>>
《精通Linux设备驱动程序开发》——1.5 Linux发行版
查看>>
《JavaScript面向对象编程指南》——第1章 引言1.1 回顾历史
查看>>
《乐高EV3机器人搭建与编程》——2.2 颜色设计
查看>>
13 种在 Linux 系统上检测 CPU 信息的工具
查看>>
《Hack与HHVM权威指南》——1.5.2 覆盖方法的类型
查看>>
5 步助你成为一名优秀的 Docker 代码贡献者
查看>>
《术以载道——软件过程改进实践指南》—第1章1.3节如何实施CMMI
查看>>
Harris’s Linked List
查看>>
(流式、lambda、触发器)实时处理大比拼 - 物联网(IoT)\金融,时序处理最佳实践
查看>>
什么Linux服务器最适合你?
查看>>
git 换行符问题,统一linux风格
查看>>
SQL on Linux Run on Docker
查看>>
C语言程序设计实践(OJ)-初识函数
查看>>
Spark机器学习9· 实时机器学习(scala with sbt)
查看>>
数据结构实践——队列数组
查看>>
从Demo到日千万PV,就是快! – 爱线下的上云实践
查看>>
Linux 时钟精度 与 PostgreSQL auto_explain (explain timing 时钟开销估算)
查看>>