乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      com的知識(shí)點(diǎn)

       水中麒麟 2013-09-15

      int main()

      {

             CA * pa1 = new CA(1.5);

             CA * pa2 = new CA(2.75);

       

      }

      上述對(duì)象將共享同一  vtbl(虛表指針,), 指向同一虛函數(shù)表

       

       

       

       
       

       

       

       

      CreateDevice()返回接口指針,這些接口及其占用內(nèi)存什么時(shí)候釋放,要通過(guò)引用計(jì)數(shù)的技術(shù)來(lái)解決。AddRef()給這個(gè)接口指針的計(jì)數(shù)加1,而Release()會(huì)將之減1.一旦減到0,表示沒(méi)有客戶(hù)使用了,相關(guān)的接口就釋放了。 由此可知,每次調(diào)用Rlease()后,并不一定會(huì)釋放內(nèi)存,而是當(dāng)引用計(jì)數(shù)歸0時(shí)釋放內(nèi)存

       

       

       com  更類(lèi)似于在某次社交聚會(huì)上同某人會(huì)面,而與對(duì)他們進(jìn)行工作面試有很大的不同,當(dāng)進(jìn)行工作面試時(shí),被試者將提交一份介紹他們情況的個(gè)人簡(jiǎn)歷,這份

      個(gè)人簡(jiǎn)歷類(lèi)似于c++ 類(lèi)的定義,而當(dāng)在社交聚會(huì)上會(huì)面時(shí),沒(méi)有人會(huì)給對(duì)方提供個(gè)人簡(jiǎn)歷。為了了解對(duì)方的情況,必須向它們提問(wèn),著一點(diǎn)是類(lèi)似于com 組件的。

       

      第四章  引用計(jì)數(shù)

       


       com  更類(lèi)似于在某次社交聚會(huì)上同某人會(huì)面,而與對(duì)他們進(jìn)行工作面試有很大的不同,當(dāng)進(jìn)行工作面試時(shí),被試者將提交一份介紹他們情況的個(gè)人簡(jiǎn)歷,這份

      個(gè)人簡(jiǎn)歷類(lèi)似于c++ 類(lèi)的定義,而當(dāng)在社交聚會(huì)上會(huì)面時(shí),沒(méi)有人會(huì)給對(duì)方提供個(gè)人簡(jiǎn)歷。為了了解對(duì)方的情況,必須向它們提問(wèn),著一點(diǎn)是類(lèi)似于com 組件的。

       

      第四章  引用計(jì)數(shù)

      CoCreateInstace    某個(gè)特定的類(lèi)廠(chǎng)將創(chuàng)建只同某個(gè)特定的CLSID相應(yīng)的組件

      CoCreateInstance 創(chuàng)建的組件實(shí)際上是通過(guò)IClassFactory來(lái)創(chuàng)建的 

      CoGetClassObject(

      CLSID & clsid,

      DWORD ;

      CONSERVERINFO*

      const IID,

      void **ppv;

      這兩個(gè) 最大的區(qū)別是 :

      CoGetClassObject 返回的是 指向所需組件的類(lèi)廠(chǎng)而不是指向組件本身的一個(gè)指針,客戶(hù)可以通過(guò)用CoGetClassObject所返回的指針來(lái)創(chuàng)建所需的組件,

      這個(gè)指針通常是一個(gè)IClassFactory 指針

       HRESULT  CoCreateInstance(CLSID &clsid,IUnKnwn *pUnkOuter,DWORD dwClsContext,IID &iid,void ** ppv)

      {


      *ppv=NULL;

      IClassFactory  *pIFactory=NULL;



      HRESULT hr =::CoGetClassObject(clsid,dwClsContext,NULL,IID_IClassFactory,(void **)&pIFactory);

      if(SUCCEEDED(hr))

      {

      hr=pIFactory->QueryInterface(iid,ppv);


      pIFactory->Release();


      }

      return hr;


      }

       

       

       

       

       

       

       

       

       

       

       

       

       

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多