PDA

View Full Version : aiuto resize c++


Zelig
29-09-2004, 20:27
Ciao
ho letto che in c++ va usata la "resize" al posto della "realloc"
mi sapete dire come funziona?

io per la "realloc" faccio cosi:


char *stringa;
stringa = (char *) malloc (100);
stringa = (char *) realloc(stringa,150);

grazie

ciao zelig

cionci
29-09-2004, 22:44
Una funzione chiamata "resize" in C++ non c'è...le stringhe in C++ si autodimensionano...

Zelig
29-09-2004, 22:59
ma io avevo letto questo :

"dimentica le funzioni del C di gestione della memoria dinamica (malloc, free e compagnia) e al loro posto usa gli operatori new e delete; per riallocare memoria, non usare la realloc del C, ma i metodi resize o reserve di vector "

in questo link:
http://www.bo.cnr.it/corsi-di-informatica/corsoCstandard/Lezioni/39Conclusioni.html

forse ho inteso male.

mi documento meglio

grazie

zelig

cionci
29-09-2004, 23:14
Appunto...non esiste una funzione del genere...ma dipende dai metodi del contenitore...

Per le stringhe esiste la resize, ma non ha la stessa funzione di realloc... La dimensione della stringa cresce automaticamente man mano che vi si inseriscono elementi o si fa una concatenazione...

La string::resize si può assimilare alla realloc solo in certi utilizzi...

Fai conto che che se fai una string in C++ e ci metti prima una stringa di 100 elementi e poi ci concateni una stringa di 50 elementi, non dovrai fare una chiamata alla resize...ma basterà fare un'operazione di concatenazione...

Zelig
29-09-2004, 23:31
non sapevo che in c++ ci fossero le stringhe.
adesso riprendo in mano il manuale, lo lasciato troppo presto effettivamnte.

grazie