Sobes.tech
Junior — Middle

Можеш ли да наведеш пример када се објекат класе креира на стеку уместо на хипу?

sobes.tech АИ

Одговор од АИ

У iOS, објекти класа обично се креирају у хипу, јер су класе референтни типови. Међутим, ако користите структуре (struct), које су типови вредности, они се креирају на стеку.

Пример:

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

func createPoint() {
    let p = Point(x: 10, y: 20) // креира се на стеку
    print(p)
}

Овде, Point је структура, а променљива p се креира на стеку. За класе, на пример:

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

func createPerson() {
    let person = Person(name: "John") // објекат у хипу, референца на њега на стеку
    print(person.name)
}

Дакле, објекти класа се креирају у хипу, а структуре на стеку.