Onko dynaamisen taulukon koon muuttaminen
(esim new-komennolla) mahdollista siten, ettei taulukkoon aiemmin syötetyt arvot häviä?
C:ssa malloc tai calloc -funktiolla varatun muistialueen kokoa voi kasvattaa realloc(void * ptr, size_t new_size_in_bytes) -funktiolla, joka siis palauttaa osoittimen (mahdollisesti) uuteen muistialueeseen, johon vanhan ptr-pointterin osoittama muisti on kopioitu ja johon on varattu tilaa haluttu määrä.
C++:ssa joudut käsittääkseni tekemään tämän vähän enemmän käsityönä eli varaat ensin uuden taulukon new:llä, kopioit uuteen taulukkoon vanhat arvot silmukassa alkio kerrallaan tai memcpy:llä kokonaisuudessaan ja lopuksi poistat vanhan talukon muistista delete:llä.
Dynaamista taulukkoa ei voi kasvattaa/pienentää suoraan c++:ssa.
Näin vähän arvelinkin, mutta kiitos kuitenkin.
Mikään ei estä käyttämästä mallocia ja reallocia C++:ssa, ja ainakin minä käytän mieluummin niitä kuin new-delete-systeemiä.
miten olisi STL:n tietorakenteet? Helppokäyttöisiä ja koko ei ole ennalta rajattu.
Tarkoitat varmaan containereita?
Aihe on jo aika vanha, joten et voi enää vastata siihen.