Jaký je rozdíl mezi hodnotovými a referenčními parametry?
Jaký je rozdíl mezi hodnotovými a referenčními parametry?

Video: Jaký je rozdíl mezi hodnotovými a referenčními parametry?

Video: Jaký je rozdíl mezi hodnotovými a referenčními parametry?
Video: Karl Friston: The "Meta" Free Energy Principle [PART 1!] 2024, Smět
Anonim

Změny na a parametr hodnoty nejsou pro volajícího viditelné (nazývané také „projíždět hodnota "). Změny na a referenční parametr jsou viditelné pro volajícího („projít odkaz "). Jedním z použití ukazatelů je implementace " odkaz " parametry bez použití speciálního odkaz koncept, který některé jazyky, jako například C, nemají.

Kromě toho, jaký je rozdíl mezi hodnotovými a referenčními parametry?

KLÍČ ROZDÍL V Call by hodnota , kopie variabilní je předán, zatímco v Call by odkaz , a variabilní sám je předán. V Call by hodnota skutečné a formální argumenty bude vytvořen v odlišný místa v paměti, zatímco v Call by odkaz skutečné a formální argumenty bude vytvořen v stejné místo v paměti.

co se nazývá hodnota a odkaz? Volání podle Odkaz : Skutečné i formální parametry odkazují na stejná umístění, takže jakékoli změny provedené uvnitř funkce se ve skutečnosti projeví ve skutečných parametrech volajícího. Volání podle hodnoty . Volání Podle Odkaz . Zatímco povolání funkce, projdeme hodnoty proměnných k němu. Takové funkce jsou známé jako „ Volání podle hodnot ”.

Co je tedy referenční parametr?

A referenční parametr je odkaz do paměťového místa proměnné. Když projdete parametry podle odkaz , na rozdíl od hodnoty parametry není pro ně vytvořeno nové úložiště parametry . Ukazuje, že se hodnoty ve funkci swap změnily a tato změna se projeví ve funkci Main.

Proč by měly být parametry předávány odkazem?

Pass-by-reference Znamená složit a odkaz z an argument ve volací funkci na odpovídající formál parametr volané funkce. Složit -by-reference je efektivnější než složit -hodnotou, protože to dělá nekopírovat argumenty . Formální parametr je alias pro argument.

Doporučuje: