Junior — Middle
Môžete vysvetliť, čo je referenčný typ údajov?
sobes.tech AI
Odpoveď od AI
Typ referenčného typu je typ, ktorého premenné neukladajú samotné údaje, ale odkaz (ukazovateľ) na oblasť pamäte, kde sa tieto údaje nachádzajú. Napríklad v Swift sú triedy referenčné typy. To znamená, že pri priraďovaní alebo odovzdávaní objektu triedy sa kopíruje iba odkaz na rovnaký inštanciu, nie samotný objekt.
Príklad:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let person1 = Person(name: "Иван")
let person2 = person1
person2.name = "Петр"
print(person1.name) // Vypíše "Петр", pretože person1 a person2 odkazujú na ten istý objekt
Toto sa líši od typov hodnoty (napríklad štruktúr), kde sa kopíruje samotný objekt.