09. Funkcija su parametrais-nuorodomis
Jei funkcija grąžina apskaičiuotas reikšmes per parametrus (void), į ją kreipiamasi taip:
funkcijosVardas(faktiniaiParametrai);
Jei funkcija turi grąžinti keletą reikšmių, tuomet naudojami parametrai-nuorodos. Prieš juos funkcijos antraštėje rašomas ženklas &:
rezultatoTipas funkcijosVardas(tipas & vardas1, tipas & vardas2);
Tuo atveju, kai į funkciją kreipiamasi perduodant jai parametrus-reikšmes, funkcija sukuria naujus tų pačių tipų kintamuosius, kaip ir perduodami parametrai, ir jiems priskiria parametrų reikšmes. Vadinasi, funkcija dirba su parametrų reikšmių kopijomis, bet ne su pačiais parametrais. Tai patogu, kai funkcijai nereikia keisti parametrų reikšmių.
Tuo atveju, kai į funkciją kreipiamasi perduodant jai parametrus-nuorodas, ji gauna ne kintamųjų reikšmes, o nuorodas į kintamuosius (kintamųjų adresus). Vadinasi, funkcija tiesiogiai naudoja perduodamus kintamuosius.
Pateikiame pavyzdį, kuriame funkcija Sukeisti(), naudodama parametrų vardus pirmas ir antras, faktiškai naudojasi kintamaisiais x ir y.
Pavyzdys
Praktika
Įvykdykite programą, ir ją panagrinėkite.
Nuimkite & ženkliuką nuo abiejų kintamųjų funkcijos antraštėse. Paaiškinkite rezultatą.
Palikite & ženkliuką tik prie parametro antras. Paaiškinkite rezultatą.