Új hozzászólás Aktív témák

  • amargo

    addikt

    válasz ALI_G #3231 üzenetére

    Itt jelen esetben egy négyzetes mátrixról van szó, dom a mátrix mérete.
    Tehát, ha a dom 4, akkor 4X4-es mátrixról van szó.
    De ezt könyeddén átírhatód:
    struct matrix + int hogy más dimenziót is betudjál állítani,
    GetMatrix, lényegiben az ellenörzéseken kívűl nem változik (bár érdemes itt is 2 ciklust csinálni, hogy ne csak az egyik irányba tudjál mozogni)
    ClearMatrix függvénybe +1 ciklus kerül bele a lebontáshoz

    Memória kezelés
    A malloc, realloc és free függvények helyett használjuk a new és a delete operátorokat.
    A C nyelvű memóriakezelő függvények és a C++ nyelv memória operátorai másképpen kezelik a memóriát, keverésük konfliktust okozhat. A malloc nincs felkészítve a konstruktorok kezelésére, a new-val lefogalt területet a free nem tudja rendesen felszabadítani, ezért a C nyelv memóriakezelő függvényeit ne használjuk.
    Tömbök felszabadításakor a delete operátor után mindig használjuk az üres szögletes zárójelpárt ('[]').
    Ezáltal a tömb minden elemére lefut a destruktor, felszabadítva a dinamikusan lefoglalt memóriaterületeket is. A szögletes zárójelpár nélkül csak az objektumhoz statikusan tartozó memóriaterület szabadul fel. Ha a zárójelbe a tömb méretétől eltérő szám kerül, akkor vagy nem szabadul fel az összes memória, vagy a destruktor olyan objektumra is meghívódik, ami nem is létezett. Az üres zárójelpár használatával ezek elkerülhetőek.

Új hozzászólás Aktív témák

Hirdetés