Junior — Middle
Маалымат түрлөрүн ба маан жана шилтемеси боюнча кантип айырмалоо жана алар программалоодо эмнеге айырмаланат?
sobes.tech AI
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 бир эле объектке шилтеме кылат
Ошондуктан, айырманы түшүнүү эс тутумду башкаруу жана программа жүрүм-турумун алдын ала билүү үчүн маанилүү.