PDA

Visualizza la versione completa : [C++] Smart pointers non boost


giuseppe500
29-11-2009, 20:19
ciao.
Vorrei utilizzare gli smart pointer senza utilizzare boost , per un problema di performance(sto creando un videogioco in c++).
E' una cosa di cui non sono pero' sicuro quindi chiedo a voi , come mai boost puo' anche una volta linkato abbassare la velocità di un gioco?
è una stupidata o ha un fondamento ,l'ho letto su gamedev.net.
Esiste un implementazione piu' "leggera" degli smart pointers?
utilizzo vs2008 e vc ++.
Grazie.

MItaly
29-11-2009, 20:57
Originariamente inviato da giuseppe500
ciao.
Vorrei utilizzare gli smart pointer senza utilizzare boost , per un problema di performance(sto creando un videogioco in c++).
E' una cosa di cui non sono pero' sicuro quindi chiedo a voi , come mai boost puo' anche una volta linkato abbassare la velocità di un gioco?
è una stupidata o ha un fondamento ,l'ho letto su gamedev.net.

Gli smart pointers sono classi template, per cui se usi solo loro non devi linkare niente di aggiuntivo al tuo programma; proprio perché si tratta di template il loro overhead (in termini di performance e di dimensioni eseguibile) dovrebbe essere minimo, visto che solo i metodi che utilizzi vengono inclusi nell'eseguibile, ed essendo fornite sotto forma di sorgente il compilatore può applicarci tutte le sue ottimizzazioni, inlining compreso.

giuseppe500
30-11-2009, 00:31
grazie ma non ho capito ,dove scarico i sorgenti degli smartpointers?
faccio un "copia incolla" dai sorgenti di boost?
Ciao.

MItaly
30-11-2009, 00:41
No, perché? :dottò: Devi semplicemente installare le librerie Boost e includere gli header necessari per gli smart pointers che vuoi utilizzare nei tuoi .cpp.

Loading