Dyskusja:C/Powszechne praktyki
Najnowszy komentarz napisał(a) 18 lat temu Kj
Źle: #define kwadrat(x) x*x Dobrze: #define kwadrat(x) (x)*(x)
Czytelnik nie zapamięta takich zasad, jeśli nie zostaną one uzasadnione bądź poparte jakimś przykładem. Moja propozycja:
Przykład: Załóżmy, że w programie makro kwadrat() zostało wywołane następująco:
kwadrat(a+b)
. Wtedy zostanie ono zamienione przez preprocesor na: a+b*a+b
. Z kolejności działań wiemy, że najpierw zostanie wykonane mnożenie, więc wartość wyrażenia kwadrat(a+b)
będzie różna od kwadratu wyrażenia a+b
.
Podobnie można wytłumaczyć kolejną zasadę, czyli umieszczanie w nawiasach całego rozwinięcia makra. Czytelnik zapamięta ją znacznie lepiej.
--GDR!
- W Wikibooks każdy może edytować. Dlatego nie musisz na tego typu sprawy zwracać uwagi na stronach dyskusji. Możesz po prostu zacząć edytować treść podręcznika. --Kj 14:26, 17 wrz 2006 (CEST)