`
ladymaidu
  • 浏览: 673773 次
文章分类
社区版块
存档分类
最新评论

boost库中的智能指针向上转换

阅读更多

作者:朱金灿

来源:http://blog.csdn.net/clever101

这里稍微解释下何谓指针类型的向下转换和向上转换。向下转换是指派生类指针转换为基类指针类型,向上转换是指基类指针类型转换为派生类类型。C++一般使用dynamic_cast转换符实现向上转换。智能指针可以毫无问题的进行向下类型转换,却不能使用dynamic_cast进行向上类型转换。例如:


那么怎么实现智能指针的向上转换呢?今天发现boost库有一个dynamic_pointer_cast的模板函数,可以实现智能指针的向上转换。如上例的可以这样写:


另外在osg库中的智能指针向上转换也使用类似的dynamic_pointer_cast的模板函数。






分享到:
评论

相关推荐

    C++11 下使用 Boost.Serialization 库实现智能指针的序列化

    C++11 下使用 Boost.Serialization 库实现智能指针的序列化

    Boost智能指针

    一个pdf文档,详细的介绍Boost库中的智能指针

    boost 智能指针

    详细的讲解了boost这个强大的开源库中 智能指针smart_ptr的使用,非常值得一学。推荐哦

    Boost智能指针示例源码

    本代码为C++类库boost实现的示例源码,使用VS2015编译,代码中有相关的注释,如发现有问题,请不吝指教,谢谢!

    Boost库定制安装更新版

     Boost中比较有名气的有这么几个库:  Regex  正则表达式库  Spirit  LL parser framework,用C++代码直接表达EBNF  Graph  图组件和算法  Lambda  在调用的地方定义短小匿名的函数对象,很实用的...

    boost库中文手册

    Boost库是一个经过千锤百炼、可移植、提供源代码的... Boost库由C++标准委员会库工作组成员发起,在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。

    boost 库 中文文档

    boost 库 中文文档

    boost库中文

     很多Boost中的库功能堪称对语言功能的扩展,其构造用尽精巧的手法,不要贸然的花费时间研读。Boost另外一面,比如Graph这样的库则是具有工业强度,结构良好,非常值得研读的精品代码,并且也可以放心的在产品代码...

    智能指针最全资料-5篇经典讲义

    智能指针最全资料-5篇经典讲义,详细介绍了智能指针原理,boost库中的智能指针,以及VC中的智能指针。

    C++ 中boost::share_ptr智能指针的使用方法

    最近项目中使用boost库的智能指针,感觉智能指针还是蛮强大的,在此贴出自己学习过程中编写的测试代码,以供其他想了解boost智能指针的朋友参考,有讲得不正确之处欢迎指出讨论。当然,使用boost智能指针首先要编译...

    智能指针使用

    主要介绍boost库中智能指针的使用方式和使用注意事项。boost压缩包在可官网下载。

    C++ boost库,最新版本

    大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。里面有许多具有工业强度的库,如graph库。STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作...

    C++ Boost 库中文文档

    C++ BOOST库 中文文档,下载免费

    boost库boost库boost库boost库

    boot库

    c++ boost库1.73.0 boost最新版

    很多Boost中的库功能堪称对语言功能的扩展,其构造用尽精巧的手法,不要贸然的花费时间研读。Boost另外一面,比如Graph这样的库则是具有工业强度,结构良好,非常值得研读的精品代码,并且也可以放心的在产品代码中...

    boost库中英文文档

    boost库开发文档 中文及英文文档下载

    stl中的智能指针

    简要的介绍STL中几种只能指针,入门级别,在介绍利弊时也顺带介绍的boost库中的几种指针

    boost库帮助文档--中文chm版

    该文件为boost库chm版中文帮助文档,版本为boost1.41,其目录结构明确,内容详尽,可谓boost库开发必备电子书籍,希望对使用boost库开发的人员有所帮助。

    c++boost库最新版本

    c++boost库最新版本

Global site tag (gtag.js) - Google Analytics