Preprocesor: Porovnání verzí

Smazaný obsah Přidaný obsah
m →‎Podmíněný překlad: kosrtbatá formulace...
m →‎Makra: typo
Řádek 30:
 
To, že se makra nechovají stejně jako funkce si ukážeme na následujícím příkladu, kde <tt>f</tt> a <tt>g</tt> jsou dvě funkce vracející integer. Zavolání <source lang="c">z = max(f(), g());</source>
nevyčíslí <tt>f()</tt>jednou a <tt>g()</tt> taky jednou jak by se dalo čekat u funkce, nýbrž jedna z fukcífunkcí <tt>f</tt> nebo <tt>g</tt> bude vyčíslena dvakrát (v závislosti na tom, která vrací větší číslo). Toto chování může mít za následek katastrofální chování v případě, že záleží na počtu volání <tt>f</tt> nebo <tt>g</tt>.
 
Většina moderních programovacích jazyků již nevyužívá tyto možnosti maker, právě z těchto nejednoznačných důvodů a snadného zaměnění za funkce. Z toho důvodu existují v dnešních jazycích pouze funkce nebo metody.