C++ dynamic_cast介绍

2025-04-08 06:53:38

1、用法:dynamic_cast < type-id > ( expression ),见下图MSDN索引结果。

C++ dynamic_cast介绍

2、该运算符把e垓矗梅吒xpression转换成type-id类型的对象。Type-id必须是类的指针、类的引用或者void *;如果type-id是类指针类锸责氧铼型,那么expression也必须是一个指针,如果type-id是一个引用,那么expression也必须是一个引用。

C++ dynamic_cast介绍

3、dynam坡纠课柩ic_cast主要用于类层次间的上行转换和下行转换,还可以用于类之间的交叉转换。在类层次间进行上行转换时,颊俄岿髭dynamic_cast和static_cast的效果是一样的;在进行下行转换时,dynamic_cast具有类型检查的功能,比static_cast更安全。

C++ dynamic_cast介绍

4、当用于多态类型时,它允许任意的隐式类型转换以及相反过程。不过,与static_cast不同,在隐式转换的相反过程里,dynamic_cast会检查操作是否有效。

C++ dynamic_cast介绍

5、dynamic_cast会检查转换是否会返回一个被请求的有效的完整对象。检测在运行时进行。如果被转换的指针不是一个被请求的有效完整的对象指针,返回值为NULL。

C++ dynamic_cast介绍
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢