Preprocesor jazyka C: Porovnání verzí

Smazaný obsah Přidaný obsah
→‎Definice a expanze maker: doplnění příkazu
Řádek 114:
 
Obtížněji řešitelným problémem je tzv. vícenásobná evaluace (vyhodnocení) parametrů makra - pokud je parametrem makra např. volání funkce, tak na rozdíl od obyčejného volání funkce, kdy by byla funkce zavolána jen jednou a pak se pracovalo s její návratovou hodnotu, je v případě makra funkce zavolána pokaždé, když se definice makra odkazuje na daný parametr. Kromě volání funkcí je toto chování nepříjemné např. i při použití specifických C operátorů jako ++, --, apod.
 
Pokud je to potřebné lze definici makra zrušit (odstraňuje makra s parametry i makra bez parametru).
<source lang="c">
#undef <identifikátor>
</source>
 
==Ustálené zvyklosti==