《关于智能指针》
比较智能的进行资源的动态分配和回收,一个非常非常重要的概念就是引入了引用计数。智能指针不仅仅是一个裸指针,而是一个行为像指针的类
所谓的引用计数的工作原理,有以下四点:
1、当我们创建一个对象时,只有一个对象共享状态,所以我们把当前对象的引用计数置为一。
2、拷贝构造函数不分配新的计数器,而是拷贝给定的对象的数据成员,并且包括计数器,两者共享一个计数器,因为给定的对象的共享状态多了一个,所以递增共享计数器。
3、析构函数递减计数器,如果当前的计数器值递减后为零,则析构函数释放改给定对象。
4、拷贝赋值运算符递增右侧对象的计数器,递减左侧对象的计数器,如果左侧的对象的计数器被递减为零,就释放掉该对象。
《关于Class与Interface》
1、Class对象存在自己的成员数据,实例化对象时需要分配内存空间存储数据;而接口只是一批内存管理函数,对已有内存数据进行管理,没有自己的数据成员。CAA开发中会预留唯一的接口标识符方便用户根据标识查询接口;如下
#ifndef LOCAL_DEFINITION_FOR_IID
extern ExportedByCATMecModLiveUseItf IID IID_CATIMmiMechanicalFeature;
#else
extern “C” const IID IID_CATIMmiMechanicalFeature ;
#endif
2.Interface对象可以采用智能指针进行声明而Class不能使用智能指针。