Sobes.tech
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 бир эле объектке шилтеме кылат

Ошондуктан, айырманы түшүнүү эс тутумду башкаруу жана программа жүрүм-турумун алдын ала билүү үчүн маанилүү.