Sobes.tech
Junior — Middle

Hogyan különböztetjük meg az adat típusokat érték és referencia szerint, és miben különböznek a programozásban?

sobes.tech MI

Válasz az MI-től

Az érték- és referencia típusok különböznek abban, hogyan tárolódnak és kerülnek átadásra egy programban.

  • Érték típusok (value types) másolódnak átadás vagy továbbítás során. Minden változó saját független másolatot tartalmaz az adatokból.
  • Referencia típusok (reference types) azonos objektumra mutató hivatkozást másolnak átadás vagy továbbítás során. A változtatások egy hivatkozáson keresztül láthatók mások számára.

Például Swift-ben:

var a = 5
var b = a // a 5 érték másolódik
b = 10
print(a) // 5, mivel a és b függetlenek

class Person {
    var name: String
    init(name: String) { self.name = name }
}

var p1 = Person(name: "Иван")
var p2 = p1 // a hivatkozás másolódik
p2.name = "Пётр"
print(p1.name) // "Пётр", mivel p1 és p2 ugyanarra az objektumra mutat

Ezért a különbség megértése fontos a memória kezelésében és a program viselkedésének előre láthatóságában.