Miten luodaan taulokollinen olioita dynaamisesti?
Olen sitä yrittänyt, mutta kääntäjä vain valittaa.
Koodia kiitos.
Itse laittaisin dynaamisesti luotuja olioita vektoriin.
Ja kieli oli..?
typedef struct tagOmaOlio { int SisaltoA, SisaltoB; } TOmaOlio; TOmaOlio *Taulu; const int Koko = 10; /* C-tyylinen varaus ja vapautus */ Taulu = malloc(Koko * sizeof(TOmaOlio)); free(Taulu); /* C++-tyylinen varaus ja vapautus */ Taulu = new TOmaOlio[Koko]; delete [] Taulu;
Pascalilla en jostakin syystä saanut kunnollista osoitusta taulukon alkioihin, pitää sählätä Inc- ja Dec-proseduureilla, että saa osoittimen kohdalleen ja takaisin. Muisti toimii kuitenkin GetMem- ja FreeMem-proseduureilla (GetMem(Pointer, Size))
Joka tapauksessa, tekisin dynaamisesta rakenteesta linkitetyn listan, puurakenteen, hajautustaulun tai jotakin muuta aidosti dynaamista. Taulukolla on vähän ikävämpi säätää, jos haluaa kesken kaiken lisäillä jotakin.
Ai niin, unohdin, että täällä keskustellaan myös pascalista ja niin... Kieli oli C++.
Käytän kyllä linkitetyä listaa,mutta tässä tapauksessa taitaa olla yksinkertaisempaa käyttää taulukkoa.(?)
Megant92 kirjoitti:
Miten luodaan taulokollinen olioita dynaamisesti?
Olen sitä yrittänyt, mutta kääntäjä vain valittaa.
Koodia kiitos.
Voisit kertoa mikä kieli on kyseessä.. Jos C käytä malloc() funktiota, jos C++ käytä new-operaattoria.
Tässä malloc()-funktion kuvaus->
http://www.cppreference.com/stdmem/malloc.html
Operaattorin new käyttö->
http://www.cppreference.com/keywords/new.html
Kannattaa harkita standardikirjaston mukana tulevaa säiliötä vector, joka suurenee tarvittaessa. Sinne voi tuuppaa myös olioita osoittimien lisäksi.
Aihe on jo aika vanha, joten et voi enää vastata siihen.