Sobes.tech
Middle

Koje su razlike između semantika?

sobes.tech АИ

Одговор од АИ

Vrednosni tipovi:

  • Kopiraju se prilikom dodele ili prenosa u funkciju.
  • Svaka promena pravi novu kopiju.
  • Čuvaju se na steku (u većini slučajeva).
  • Primeri: struct, enum, osnovni tipovi (Int, Double, Bool, String).

Tipovi referenci:

  • Prenose se putem reference.
  • Više promenljivih može da se odnosi na isti primerak.
  • Promena putem jedne promenljive utiče na sve reference na taj primerak.
  • Čuvaju se u hrpi.
  • Primeri: class, func.

Poređenje:

Osobina Tipovi vrednosti Tipovi referenci
Kopiranje Po vrednosti Po referenci
Izmena Kreira se nova kopija Utiče na sve reference
Skladištenje Stek (obično) Hrpa
Performanse Često brže (bez troškova za hrpu i ARC) Sporije (zbog hrpe i ARC)
Bezbednost niti Podrazumevano, sigurno za niti (svaki nit radi sa svojom kopijom) Zahteva sinhronizaciju pri zajedničkom pristupu iz različitih niti