[ glorius @ 11.09.2008. 16:52 ] @
Postoji jedna stvar kod mehanizma reference countera koja, za sada, za mene predstavlja misteriju. Posto radim u DirectX-u, uzecu primer objekata iz tog API-ja mada je verovatno sve isto kao i kod drugih COM objekata. Code: IDirect3DDevice9 * pDevice1; // smatrajte da je ovaj objekat inicijalizovan u 'prethodnom delu koda' IDirect3DDevice9 * pDevice2 = NULL; pDevice2 = pDevice1; Nikako ne mogu da provalim sta se desava. Da li operator jednako ( ovo su, ipak, pointeri tako da sumnjam ) uvecava ref. counter za 1? Video sam neki primer gde se samo ovako radi a i drugi koji izgleda ovako: Code: IDirect3DDevice9 * pDevice1; // smatrajte da je ovaj objekat inicijalizovan u 'prethodnom delu koda' IDirect3DDevice9 * pDevice2 = NULL; pDevice2 = pDevice1; pDevice1->AddRef(); . . . pDevice2->Release(); Sta se ovde desava i sta je pravo resenje? |