050

050



niej jest sprawdzić rozmiar obiektu za pomocą funkcji sizeof. Ponieważ wykonuje się to podczas kompilacji, nie powoduje to zmniejszenia wydajności.

Przykład: Literał::&operator= w pliku regexp.h

Funkcje bezpośrednie zamiast makropoleceń

unikanie banalnych błędów

Przed

#deflne MakroWypiszl(i) (cout « i « '\n') void TestBezpośr()

{

Makro Wypiszl(11);

Makro Wy piszl("Test1");

Po

class BezpośrTest

{

public:

void Wypiszl(int i)

{

cout « i « '\n';

}

}:

void’TestBezpośr()

{

BezpośrTest tbzpr; tbzpr, Wypi$zl(10);

//Generuje błąd kompilacji - C:\book\misc\misc.cpp(126) : error C2664:

//'Wypiszl': cannot convert parameter 1 from 'char [5]' to 'int’

//tbzpr. Wypiszl ("T est"):

}

Makropolecenia są użyteczne, ale nie umożliwiają sprawdzania typów. Przypuśćmy, że chcemy mieć procedurę, która wyświetla wartość liczby całkowitej. Moglibyśmy użyć makropolecenia, tak jak we fragmencie „Przed”. Zauważmy jednak, że to makropolecenie beztrosko przetwarza każdy podany argument. Można go użyć z licz-


Wyszukiwarka

Podobne podstrony:
skanuj0530 Rozdział 21. ♦ Tworzenie sklepu internetowego 551 Zapytanie jest wysyłane do serwera za p
skanuj0140 (14) Rozdział 5. ♦ Przetwarzanie danych z przeglądarki 151 Katalog jest otwierany za pomo
skanuj0213 (5) 226 PHP i MySQL dla każdego Skrypt sprawdza najpierw za pomocą funkcji isSet, czy w t
Rozwiązanie to pozwala na sterowanie obiektem nieliniowym za pomocą funkcji liniowych. Można stworzy
Wyznaczanie rozmiarów przeszkód za pomocą lasem He-Nel.Wstq>: Na ławie optycznej umieszczony jest
dupa0085 odchylają się wartości zaobserwowane od oszacowanych za pomocą funkcji regresji i stąd jest
img031 (55) jest niesatysfakcjonujący, i cenić obiekt za wartości inne niż funkcje zaspokajania potr
Slajd50 (23) Moduł wykonawczy Działanie systemu nie jest ograniczone do wnioskowania za pomocą metod

więcej podobnych podstron