Reference (programování): Porovnání verzí
Smazaný obsah Přidaný obsah
m Drobné úpravy, šablony Cizojazyčně |
m Robot: -zastaralá značka HTML; kosmetické úpravy |
||
Řádek 1:
'''Reference''' je v [[Informatika|informatice]] pojem používaný v [[programování]], který označuje odkaz na [[Proměnná|proměnnou]] nebo instanci [[Objektově orientované programování|objektu]]. Reference je abstraktnější variantou [[Ukazatel (programování)|ukazatele]], která navenek neobsahuje žádnou informaci o uložení objektu v [[Operační paměť|operační paměti]].
Reference umožňuje v programu nepřímý přístup ke konkrétním [[Data|datům]], jako jsou proměnné nebo záznamy v paměti počítače nebo na jiném paměťovém zařízení (například [[pevný disk]]). Reference se odkazují k datům a přístup k těmto datům je pak nazýván [[dereference]]. Reference jsou odlišné od dat samotných. Typická reference odkazuje jen na [[Fyzická adresa|fyzickou adresu]], která dává pouze informaci, kde jsou data v paměti nebo na paměťovém zařízení uložena (a nic o jejím obsahu). Z tohoto důvodu se reference často označuje jako ukazatel ({{Cizojazyčně|en|''pointer''}}) nebo adresa. Nicméně v reference může být rovněž uveden offset (rozdíl) mezi datovými adresami a nějaké pevné stanovené (většinou základní) adresy nebo indexu v [[Pole (datová struktura)|poli]].
Pojem reference nesmí být zaměňován s jinými hodnotami ([[Primární klíč|primárními klíči]] nebo [[Identifikátor
Reference jsou široce používány v [[programování]], zejména k efektivnímu přenosu velkého množství dat, nebo pro proměnlivá data jako jsou [[Parametr funkce|argumenty procedur]], nebo [[Sdílená paměť|sdílená data]]. Reference mohou zejména odkazovat na proměnné nebo záznam, který obsahuje odkazy na další data. Tato myšlenka je základem nepřímého adresování a mnoha propojených datových struktur, jako jsou například [[Lineární seznam|lineárními seznamy]].
Řádek 21:
Příklad volaní pomocí reference v [[E (programming language)|E]]:
<
def modify(var p, &q) {
p := 27 # předána hodnota - změněn pouze lokální parametr změněn
Řádek 36:
? b
# value: 27
</syntaxhighlight>
Příklad, který simuluje volaní referencí v [[C (programovací jazyk)|jazyce C]]:
<
void Modify(int p, int * q, int * o)
{
Řádek 58:
return(0);
}
</syntaxhighlight>
{{Pahýl}}
|