035

035



Dygresja

Technika ta działa tylko wówczas, gdy porównujemy zmienne z literałami. Jest to mniej intuicyjny sposób pisania kodu i jego stosowanie może nas w końcu doprowadzić do choroby psychicznej. Lepiej po prostu przyzwyczaić się do pisania jednego znaku równości (=) przy przypisywaniu wartości, a dwóch znaków równości (=) przy porównywaniach.

Strażnicy nagłówków

kompilowanie kodu

Przed

const int dMaks=256;

Po

#ifndef_ALGOR„H #define _ALGOR_H const int clMaks=256;

W celu lepszego zorganizowania kodu często dołącza się pliki nagłówkowe .h z innych plików .h. Rozważmy następującą sytuację — plik coś.c wymaga pliku nagłówkowego coś.h, plik coś.h dołącza plik globalne.h; plik bar.c korzysta z pliku bar.h, który także dołącza plik globalne.h; plik baz.cpp wymaga zarówno pliku coś.h jak i bar.h. A zatem w pliku baz.cpp dwukrotnie dołącza się plik nagłówkowy globalne.h. Kompilatory nie lubią definiować stałych, klas i struktur więcej niż raz. Tak naprawdę w takiej sytuacji będą się całkiem głośno skarżyć.

Aby uniknąć tego problemu, należy otoczyć definicje plików nagłówkowych strażnikami. Strażnikiem nazywa się połączenie instrukcji #ifndef oraz #define, tak jak we fragmencie „Po”. Widzimy, że jeśli plik nagłówkowy już został wczytany, to stała _ALGOR_H będzie już zdefiniowana, instrukcja #ifndef nie powiedzie się i plik nagłówka zostanie ominięty. W przeciwnym wypadku stała _ALGOR_H nie będzie zdefiniowana i warunek #ifndef spowoduje przetworzenie pliku nagłówkowego.

Innym rozwiązaniem jest jednokrotne użycie instrukcji #pragma, o ile jest ona obsługiwana przez nasz kompilator. Ta instrukcja pozwala na dołączenie danego pliku nagłówka tylko raz. W praktyce przyspiesza kompilację, gdyż kompilator w ogóle nie musi analizować strażników #ifdef.

Przykład: plik algor.h


Wyszukiwarka

Podobne podstrony:
KLIMATYZACJA STEROWANA RĘCZNIE 1 Klimatyzacja Urządzenie klimatyzacji działa tylko wówczas, gdy prac
DSC01645 Związki intymne tą możliwe tylko wówczas, gdy człowiek ma ukształtowane poczucie
skanuj0153 (2) 1618.3. Prawo wydajności proporcjonalnej Działa ono wówczas, gdy występuje zmienność
Kant a filozofia idealizmu niemieckiego 67 tylko wówczas, gdy jednocześnie świadomość nie jest
6.3. Prawo wydajności proporcjonalnej Działa ono wówczas, gdy występuje zmienność wszystkich czynnik
64929 img857 (2) 22 Aspekty mitu Przekonanie o tym, że lekarstwo działa tylko wtedy, gdy znamy jego
ad.3) strategia ta ma miejsce wówczas gdy dany towar jest sprzedawany w danym regionie tylko przez j
skanuj0049 (24) 57 będzie wytwarzał tylko wówczas, gdy ze sprzedaży wytworzonych przez siebie towaró
skanuj0049 (24) 57 będzie wytwarzał tylko wówczas, gdy ze sprzedaży wytworzonych przez siebie towaró
img168 168 rq<^r2    (1.4.48,) realizowaną tylko wówczas, gdy przetwornik pracuje
IMG?41 (2) kraat Ofóhta reguła jest taka. te płemh jest rozjaśniana tylko wówczas, gdy na ekranie ja
skanowanie0010 3 zmienić nasza postawa i dostosujemy się do nowegó żachowama, ale tylko wówczas, gdy
Kompendium Wiedzy geografii78 Państwo jest potęg:* tylko wówczas, gdy jest suwerenne. Uzależniony l

więcej podobnych podstron