Konstanta (programování): Porovnání verzí

m
uvozovky kolem identifikátoru reference, kosmetické úpravy za použití AWB
(Formulace, styl)
m (uvozovky kolem identifikátoru reference, kosmetické úpravy za použití AWB)
 
== Srovnání s literály a makry ==
K vyjádření datové hodnoty, která se nemění za běhu programu existuje několik možností, které jsou konzistentní v množství programovacích jazyků. Jednou z velmi základních možností je přímo zapsání [[Literál|literáluliterál]]u (čísla, znaku nebo řetězce) do kódu programu.
 
V [[Jazyk symbolických adres|jazyce symbolických adres]] (zkratka JSA, nesprávně Assembler) se literály zapisují s použitím instrukcí „immediate mode“, které jsou dostupné na většině mikroprocesorů. Hodnota je dostupná bezprostředně („immediate“) z toku instrukcí a není potřeba ji vyhledávat v paměti.<ref name='ibmpowerpc'>Ex. [http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.aixassem/doc/alangref/addic.htm IBM Systems Information]. Instruction Set - Assembler Language Reference for PowerPC.</ref> Pro hodnoty delší než délka slova mikroprocesoru, například řetězce nebo pole, jazyky symbolický adres obvykle poskytují možnosti, jak takováto tabulková data zapsat přímo do programu.
# Čtenáři je jasné, že objekt nebude modifikován, poté co je nastaven
# Pokus o změnu hodnoty objektu bude odmítnut kompilátorem
# Kompilátor může být schopen provést optimalizaci, pokud bude vědět, že hodnota se nezmění.<ref name="dvc">{{cite journal | title=Dynamically-Valued Constants: An Underused Language Feature | last=Schilling | first=Jonathan L. | journal=[[SIGPLAN Notices]] | volume=30 | issue=4 | date=April 1995 | pages=13–20 | doi=10.1145/202176.202177}}</ref>
 
Dynamické konstanty vznikly jako vlastnost jazyka [[ALGOL 68]].<ref name="dvc" /> Studie kódů jazyků Ada a C++ ukázaly, že dynamické konstanty nejsou moc používané, typicky 1&nbsp;% nebo i méně objektů, ale mohlo by jich být mnohem více, jelikož 40–50&nbsp;% lokálních netřídních objektů je neměnných, poté co jsou vytvořeny.<ref name="dvc" /><ref name="ada">{{cite conference | title=Programming Practices: Analysis of Ada Source Developed for the Air Force, Army, and Navy | last=Perkins | first=J. A. | conference=Proceedings TRI-Ada '89 | pages=342–354 | doi=10.1145/74261.74287}}</ref>
 
Konstanty jsou často používány v deklaracích funkcí jako příslib, že pokud je objekt předáván odkazem, funkce ho nezmění.
138 738

editací