Dyskusja:C/Powszechne praktyki

Z Wikibooks, biblioteki wolnych podręczników.
Przejdź do nawigacji Przejdź do wyszukiwania

Ź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)