Sobes.tech
Junior — Middle

Veri və referans tiplərini necə ayırd etmək və proqramlaşdırmada onların fərqləri nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Dəyər və referans tipləri, proqramda necə saxlanılır və ötürülürlərində fərqlənir.

  • Dəyər tipləri (value types) təyin etmə və ya ötürmə zamanı kopyalanır. Hər dəyişən öz müstəqil nüsxəsini saxlayır.
  • Referans tipləri (reference types) təyin etmə və ya ötürmə zamanı eyni obyektə referans nüsxəsi kopyalanır. Bir referans vasitəsilə edilən dəyişikliklər digər vasitəsilə görünür.

Məsələn, Swift-də:

var a = 5
var b = a // 5 dəyəri kopyalanır
b = 10
print(a) // 5, çünki a və b müstəqildir

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

var p1 = Person(name: "Иван")
var p2 = p1 // referans kopyalanır
p2.name = "Пётр"
print(p1.name) // "Пётр", çünki p1 və p2 eyni obyektə istinad edir

Bu fərqi anlamaq yaddaş idarəetməsi və proqramın davranışının əvvəlcədən bilinə bilməsi üçün vacibdir.