[elektro] C makró

hobilobi at gmail.com hobilobi at gmail.com
Fri Nov 18 21:06:28 CET 2016


2016.11.18. 15:12 keltezéssel, Balla Zoltán írta:
> 2016.11.18. 15:06 keltezéssel, hobilobi at gmail.com írta:
>> Az eredeti kérdésben nem ez volt.
>> Te valójában nem egy darab kétdimenziós tömböt foglalsz le, hanem
>> egyesével, sok egydimenzióst.
>> Ez azért egészen más !!
>>
>> Foglalj le egy lépésben akkora helyet, amiben majd elfér a kétdimenziós
>> tömböd, és a kezdőcímét
>> felhasználva te kezeld, hogy mikor hová pakolsz/olvasol.
>>
> De ez volt..., mivel ez a "hivatalos" módja a többdimenziós dinamikus 
> foglalásnak, nem az X*Y méretű nagy tömb foglalása, és kézzel történő 
> adminisztrálása! Csak nekem nem jó, ha nem összefüggő területen 
> helyezkedik el...
>
> Nyilván ez marad, mert egyelőre más módot nem ismerek, amivel 
> egybefüggő memóriába kerülnének a sorok..., csak gondoltam hátha van 
> rá valami elegánsabb megoldás is...
>
> Zoli
>
> -----------------------------------------
>          elektro[-flame|-etc]

Nem ismerem a new operátort (illetve a C++-t), de ha valóban ez a 
"hivatalos" módi, akkor viszont annak garantálnia kellene a 
folytonosságot. Ellenkező esetben valaminek gondoskodnia  kellene arról, 
hogy ha te a tömb [x2,y5] elemére hivatkozol, akkor a nem összefüggő 
területen tárolás ellenére is, ki tudja számolni az adott elem címét. Ez 
sokkal macerásabbnak tűnik, mint garantálni a folyamatos területen tárolást

A folytonosság biztosításához pedig a new-nak kell lennie egy olyan 
paraméterének, ami megmondja, hogy melyik előzőleg létrehozott tömböt 
akarod bővíteni, mert különben az 5. híváskor honnan tudná, hogy a 2. 
vagy a 4. híváskori tömböt akarod növelni. Ha van ilyen paraméter, akkor 
szerintem folytonos területen fogja tárolni.

István




More information about the Elektro mailing list