|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6624
|
[C++] Dubbio sui Vector
Ciao ragazzi,
sto adoperando i Vector per un mio programma. Mi è venuto però un dubbio. Dovendo passare il Vector ad una funzione, è meglio usare : Codice:
void funzione(vector<double>&); vector<double> a; funzione(&a) ; Codice:
void funzione(vector<double>*); vector<double> a; funzione(&a) ; Codice:
void funzione(vector<double>*); vector<double>*a; funzione(a) ; Codice:
int a[10] Se scrivo Codice:
vector<double> a Grazie. Ultima modifica di Unrue : 05-12-2007 alle 14:52. |
|
|
|
|
|
#2 | |||
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Codice:
funzione(a); Quote:
Quote:
Sinceramente mi sfugge un motivo valido per istanziare un puntatore a vector |
|||
|
|
|
|
|
#3 | ||
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6624
|
Quote:
Quote:
|
||
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6624
|
Quello che ho detto
Cosa c'è che non ti torna? Un Vector può avere una lunghezza fissa, anzichè dinamica. Ma non è certo in questo caso che hai vantaggi.E' lo stesso discorso dei vantaggi che hai con un semplice array con dimensioni fisse ed uno dinamico. |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
tommino per allocazione dinamica intendeva la prima, cioè: vector<double> *a = new vector<double>(); Anche un vector allocato staticamente così è dinamico nel contenuto: vector<double> a; Concordo sul passaggio per riferimento del vector allocato staticamente. |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6624
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6624
|
MM, sempre sui Vector, è giusto definirlo nell'header e poi allocarlo in una funzione? Una cosa così :
Header : Codice:
vector<double> a; Codice:
void funzione(vector<double>& vector_temp, int elem) {
vector_temp.reserve(elem);
}
Codice:
funzione(a); |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
E' giusto, ma reserve influisce solo sull'allocazione interna, per dare un dimensione (cioè inserire n elementi nel vector) si usa resize.
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6624
|
Si ok, grazie
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:08.




















