Supponiamo di avere la classe Cronometro, che ha due metodi: inizia, stop, il membro privato tempo e la funzione getTime
Ora nel mio programma faccio
codice:
Cronometro Crono;
Crono.Start();
//Altri codice...
Crono.Stop();
cloc_t Time = Crono.GetTime();
Fin qui tutto bene. Lo stesso codice può ovviamente essere fatto coi puntatori
codice:
Cronometro *Crono;
Crono->Start();
//Altri codice...
Crono->Stop();
cloc_t Time = Crono->GetTime();
Ora, la differenza tra i due quale è?
Prendiamo ad esempio il motore grafico Irrlicht: per usare la classe principale si fa
codice:
IrrlichtDevice *device = CreateDevice(...);
Perchè si devoon usare i puntatori? Non va bene anche
codice:
IrrlichtDevice device = CreateDevice(...);
La stessa cosa con le DirectX (Direct3D).
Perchè devo usare IDirect3D9 *g_pD3D e non una semplice istanza? E' un dubbio che mi frulla in testa da molto