grazie shodan.
Il fatto è che ho creato una factory che crea degli smartpointer e li passa fuori dal factory method.
MeshPtr pMesh = pFactory->getMesh(SPHERE);codice:class CMeshFactory{ MeshPtr getMesh(int nTypeMesh) { switch(nTypeMesh) { case SPHERE: { MeshPtr pPtr = new Mesh(); . . . return pPtr; } } } //chiamati da una funzione che ha un istanza della classe CMeshFactory
pMesh ha un referece counter di 2!
non dovrebbe essere 1?
perchè?
Io ho "risolto" decrementando forzatamente il reference counter ma è una soluzione "accrocchiata" in modo che la mesh creata abbia un ref counter di 1, dato che l'ho appena istanziata.
E' un comportamento corretto?
grazie.

Rispondi quotando