C++ Smart Pointers 和“与继承有关的”类型转换

来源:互联网 发布:sql id=@id 编辑:程序博客网 时间:2024/05/23 05:07

     我们真正想要知道的是如何能够使“smart pointer classes的行为”在“与继承相关的类型转换”上,能够和dumb pointers一样。答案很简单:不能够。Daniel Edelson 指出:smart pointers虽然smart,却不是pointers。是的,我们所能做的最好情况就是使用member templates来产生转换函数,然后再在其中出现模棱两可的时候使用转型动作。这并不完美,但是够好。Smart pointers提供了精巧的功能,而“必须使用转型动作以避免模棱两可”则是我们有时候必须付出的一个小代价。

 

    下面看一下代码,便一目了然:

 

原创粉丝点击