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;
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();
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?
EOF