Discussione: [c++]vector o array?
View Single Post
Old 13-05-2004, 21:45   #4
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
Re: [c++]vector o array?

Quote:
Originariamente inviato da NA01
dopo aver dimostrato quanto sono scarso a programmare in più occasioni ho riniziato a dare un'occhiata un pò più approfondita al libro di stroustrup.
nei suggerimenti alla fine del 3 capitolo al punto 9 consiglia di usare vector, list e map al posto dei semplici array.
data la maggiore complessità però suppongo che rendano più pesante il programma.
cosa mi dite?
dico cavolate? conviene sul serio usare SEMPRE dei contenitori al posto degli array?


ciao!
Nei casi in cui e' indifferente usare array o vector (ovvero vettorii che non vengono ridimensionati) non ci sono motivi per cui il vector debba essere piu' lento. Una banale implementazione dell'operatore di indicizzazione e'
Codice:
private:
  value_type* data;
...
public:
  value_type& operator[](size_type i)
  { return data[i]; }
Visto che generalmente tale codice viene incluso dall'intestazione <vector>, un normale compilatore potra' senza problemi rendere inline la chiamata a funzione eliminando totalmente il costo aggiuntivo.
Negli altri casi il problema non si pone, visto che si tratta di strutture dati diverse pensate per necessita' diverse.
Usare un array quando sarebbe piu' adatta una lista vuol dire complicarsi la vita, visto che la soluzione pseudo-furba potrebbe risultare molto piu' lenta di quella naturale.
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso