Autore Topic: [RISOLTO]allocare dinamicamente un vettore di stringhe  (Letto 699 volte)

Offline luca1202

  • Gambero
  • **
  • Post: 95
    • Mostra profilo
    • http://luca1202.wordpress.com
[RISOLTO]allocare dinamicamente un vettore di stringhe
« il: 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.
« Ultima modifica: 29 Luglio 2010, 14:58:51 da luca1202 »
il mio progetto -> SITO

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re: allocare dinamicamente un vettore di stringhe
« Risposta #1 il: 29 Luglio 2010, 14:42:51 »
in teoria con
Codice: gambas [Seleziona]

DIM tuoarray AS STRING[]


dichiari un array senza una lunghezza specifica.
Matteo DoubleMM Mion

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: allocare dinamicamente un vettore di stringhe
« Risposta #2 il: 29 Luglio 2010, 14:49:08 »
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.

Offline luca1202

  • Gambero
  • **
  • Post: 95
    • Mostra profilo
    • http://luca1202.wordpress.com
Re: allocare dinamicamente un vettore di stringhe
« Risposta #3 il: 29 Luglio 2010, 14:58:38 »
ora ho capito!!
mi sfuggiva il fatto che String[] fosse un oggetto :-[

effettivamente se dichiaro
Codice: [Seleziona]
DIM s as String[]
per aggiungere elementi è sufficiente usare il metodo messo a disposizione dall'oggetto, quindi
Codice: [Seleziona]
s.Add(string,index)

questa spiegazione mi è stata veramente utile!! grazie :2birre:
il mio progetto -> SITO