Sobes.tech
Junior

Čo sa stane, ak funkcii, ktorá prijíma argument, odovzdáte celé číslo (integer)?

sobes.tech AI

Odpoveď od AI

Nasledujúce kroky budú:

  1. Bude pridelená pamäť pre hodnotu argumentu v rámci rozsahu funkcie.
  2. Hodnota odovzdaného celého čísla bude skopírovaná do tejto pamäti.
  3. Vo vnútri funkcie sa k tejto hodnote dá pristupovať podľa názvu parametra.
  4. Zmeny hodnoty parametra vo vnútri funkcie neovplyvnia pôvodnú hodnotu odovzdanú pri volaní, pretože odovzdanie celého čísla sa vykonáva hodnotou (kopírovanie hodnotou).

Príklad vo Swift:

func processInteger(number: Int) {
    var mutableNumber = number // Vytvorí sa kópia hodnoty

    mutableNumber += 10 // Zmeny ovplyvnia iba lokálnu kópiu
    print("Vo vnútri funkcie: \(mutableNumber)")
}

var myInteger = 5
processInteger(number: myInteger)
print("Mimo funkcie: \(myInteger)") // Vytlačí 5