小可问COM高手,在COM编写过程中,smart 指针有什么特殊的作用?“smart”体现在哪里?

解决方案 »

  1.   


    首先智能指针是c++对象(当然你可以写成模板)。
    再有就是,智能指针把引用计数的增减封装起来。使用者使用智能指针时,不再需要去AddRef,Release,而完成靠智能指针自动完成。原理很简单,就是c++对象在离开作用域之前会自动调用析构函数,而智能指针就是在构造或者付值等操作AddRef,而在析构时Release。另外,智能指针重载了->,*, &等操作符,让使用者象用封装在其中的具体数据指针一样方便。