Gambas-it
Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: luca1202 - 29 Luglio 2010, 14:33:57
-
avrei la necessità di creare 2 vettori di stringhe solo che le dimensioni non volevo specificare a priori ma volevo che ogni elemento fosse allocato solo in caso di reale necessità al fine ovviamente di evitare inutili sprechi di risorse.
il problema è che non sò come farlo, in C basterebbe fare una malloc dell'elemento i-esimo del vettore ma qua?
ho provato a cercare un pò in giro per la rete ma non ho trovato niente; forse non sò che parole usare per cercarlo.
-
in teoria con
dichiari un array senza una lunghezza specifica.
-
Se dai un'occhiata alla doc ufficiale, l'oggetto String[] è trattato alla stessa maniera di tutti gli altri oggetti array (o vettore), con i propri e appositi metodi per gestirne il contenuto.
Diversamente da C, Gambas e in genere gli altri linguaggi gestiscono tutto dinamicamente. Anche in C++ puoi usare l'oggetto String, che si comporta allo stesso modo. Ormai le funzioni alloc/malloc vengono usate solo in caso di maggior controllo del codice e delle informazioni trattate, in particolare si programmi real-time, tenendo conto che gli oggetti e la loro gestione sono molto pesanti e più laboriose, e ovviamente più voraci in termini di risorse e di tempi di elaborazione.
-
ora ho capito!!
mi sfuggiva il fatto che String[] fosse un oggetto :-[
effettivamente se dichiaro
per aggiungere elementi è sufficiente usare il metodo messo a disposizione dall'oggetto, quindi
questa spiegazione mi è stata veramente utile!! grazie :2birre: