Sobes.tech
Junior — Middle

Değer ve referans tipleri için veri kopyalama sırasında farklar nelerdir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Değer türleri (value types) ve referans türleri (reference types) verilerin kopyalanma şeklinde farklılık gösterir:

  • Değer türleri: Kopyalama sırasında, verilerin tam bağımsız bir kopyası oluşturulur. Kopyadaki değişiklikler orijinali etkilemez.
  • Referans türleri: Kopyalama sırasında, aynı nesneye referans kopyalanır. Bir referans aracılığıyla yapılan değişiklikler tüm referanslara yansır.

Örneğin, iOS'ta yapılar (struct) değer türleri, sınıflar (class) ise referans türleridir.

Swift'te örnek:

struct Point {
    var x: Int
    var y: Int
}

var p1 = Point(x: 0, y: 0)
var p2 = p1
p2.x = 10
// p1.x == 0, p2.x == 10 — bağımsız kopyalar

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

var person1 = Person(name: "Иван")
var person2 = person1
person2.name = "Пётр"
// person1.name == "Пётр" — aynı nesneye iki referans