Hirdetés

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

  • emvy
    félisten

    Persze, ez elemeket magukat nem kell lemásolni, viszont bele kell szúrni az összes elemet átadásnál (vagy nem?). Alapvetően Javában is nagyon sokszor alkalmazzuk ezt (defensive copy).

    Nem kell, pl. a lancolt lista vegulis nem mas, mint egy head elem. Tehat pl. egy 'rest' fv. annyit csinal, hogy elorelep egyet, es az lesz a masodik lista. A defensive copy az vegulis egy kenyszermegoldas, es pont jo pelda a mutable objectek problemajara.

    Szoval ha van egy vektorod, ami a memoriaban az X es X+k kozotti helyet foglalja el, es egy fuggveny ebbol kiveszi az elso elemet, es visszaadja a maradekot, akkor a visszaadott vektor X+1 es X+k kozott lesz -- defensive copy eseten lemasolod az egesz vektort valahova, es az arra mutato referenciat adod vissza.

    Persze ezek implementacios kerdesek, a lenyeg, h feltetelezheted, hogy az immutable kollekciok eleg jo teljesitmenyuek.

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