Sobes.tech
Middle

Mik a különbségek a szemantikaiak között?

sobes.tech MI

Válasz az MI-től

Értéktípusok:

  • Másolódnak érték hozzárendelésekor vagy függvénynek való átadáskor.
  • Minden módosítás új másolatot hoz létre.
  • A veremben (többnyire) tárolódnak.
  • Példák: struct, enum, alapvető típusok (Int, Double, Bool, String).

Referencia típusok:

  • Hivatkozás szerint kerülnek átadásra.
  • Több változó is hivatkozhat ugyanarra az példányra.
  • Egy változón keresztüli módosítás hatással van minden erre a példányra mutató hivatkozásra.
  • Heap-en tárolódnak.
  • Példák: class, func.

Összehasonlítás:

Jellemző Értéktípusok Referencia típusok
Másolás Érték szerint Hivatkozás szerint
Módosítás Új másolat készül Minden hivatkozásra hatással van
Tárolás Verem (általában) Heap
Teljesítmény Gyakran gyorsabb (nincs heap és ARC költség) Lassabb (heap és ARC miatt)
Szálbiztonság Alapértelmezett, szálbiztos (minden szál saját másolatával dolgozik) Szükséges szinkronizáció több szálról való hozzáféréskor