Junior — Middle
102
Kuidas eristada andmetüüpeid väärtuse ja viite järgi ning kuidas need programmeerimises erinevad?
Ettevõtted, kust küsiti
Itexus
Winline
Магнит Тех
Моризо Диджитал
KTS
bip.ru
Touch Instinct
БКС
Летуаль
Дунайс
Vastus AI-lt
sobes.tech AI
Типы данных по значению и по ссылке отличаются тем, как они хранятся и передаются в программе.
- Типы по значению (value types) при присваивании или передаче копируются. Каждая переменная содержит свою независимую копию данных.
- Типы по ссылке (reference types) при присваивании или передаче копируется ссылка на один и тот же объект в памяти. Изменения через одну ссылку видны через другие.
Например, в Swift:
var a = 5
var b = a // копируется значение 5
b = 10
print(a) // 5, т.к. a и b независимы
class Person {
var name: String
init(name: String) { self.name = name }
}
var p1 = Person(name: "Иван")
var p2 = p1 // копируется ссылка
p2.name = "Пётр"
print(p1.name) // "Пётр", т.к. p1 и p2 ссылаются на один объект
Таким образом, понимание разницы важно для управления памятью и предсказуемости поведения программы.