Poznaj C++ w$ godziny0163

Poznaj C++ w$ godziny0163



152 Godzina 10

W linii 41 wykorzystujemy wskaźnik pProst do ustalenia szerokości prostokąta na 10. Zwróć uwagę na zakomentowaną linię 42. pConstProst został zadeklarowany jako wskaźnik do obiektu stałego, dlatego nie można go wykorzystać do zmiany zawartości tego obiektu. W linii 43, za pomocą wskaźnika pConstPtr wywołujemy metodę UstawSzerokosc () w celu zmiany parametrów prostokąta. Zauważ, że w tym wypadku tylko wskaźnik (a nie jak poprzednio obiekt) jest zadeklarowany jako stały i nie ma żadnych przeszkód aby zmieniać za jego pośrednictwem zawartość obiektu, na który wskazuje.

Wskaźnik constthis

Kiedy zadeklarujesz obiekt jako stały (const) to w efekcie również wskaźnik this jest deklarowany jako wskaźnik do obiektu stałego. W takiej sytuacji, za pomocą wskaźnika this, można się odwoływać tylko do tych funkcji wewnętrznych w obiekcie, które również zostały zadeklarowane jako const.

Stałe obiekty i wskaźniki omówimy jeszcze raz w trakcie następnej godziny, przy okazji omawiania referencji do obiektów stałych.

Podsumowanie

Wskaźniki są potężnym narzędziem do zarządzania obiektami na stercie. Niosą ze sobą parę „niebezpieczeństw” takich jak np. „gubienie pamięci”, jednak przy rozsądnym i uważnym ich wykorzystywaniu pozwalają uzyskać w programach bezpieczne i efektywne rozwiązania.

Pamiętaj, że możesz zadeklarować wskaźnik jako const (stały) i wykorzystać kompilator do wyszukiwania błędów związanych z niewłaściwym i niezamierzonym użyciem wskaźników.

Pytania i odpowiedzi

P: Dlaczego powinienem deklarować obiekty jako const, mimo że ogranicza to moje możliwości?

O: Jako programista chcesz, aby kompilator pomógł Ci w wyszukaniu błędów w programie. Bardzo dużym błędy, trudnym do zidentyfikowania, jest funkcja, która zmienia obiekt mimo że nie powinna. Deklarowanie obiektów jako const chroni Cię automatycznie przed taką sytuacją.

W linii 41 wykorzystujemy wskaźnik pProst do ustalenia szerokości prostokąta na 10. Zwróć uwagę na zakomentowaną linię 42. pConstProst został zadeklarowany jako wskaźnik do obiektu stałego, dlatego nie można go wykorzystać do zmiany zawartości tego obiektu. W linii 43, za pomocą wskaźnika pConstPtr wywołujemy metodę UstawSzerokosc () w celu zmiany parametrów prostokąta. Zauważ, że w tym wypadku tylko wskaźnik (a nie jak poprzednio obiekt) jest zadeklarowany jako stały i nie ma żadnych przeszkód aby zmieniać za jego pośrednictwem zawartość obiektu, na który wskazuje.

Wskaźnik constthis

Kiedy zadeklarujesz obiekt jako stały (const) to w efekcie również wskaźnik this jest deklarowany jako wskaźnik do obiektu stałego. W takiej sytuacji, za pomocą wskaźnika this, można się odwoływać tylko do tych funkcji wewnętrznych w obiekcie, które również zostały zadeklarowane jako const.

Stale obiekty i wskaźniki omówimy jeszcze raz w trakcie następnej godziny, przy okazji omawiania referencji do obiektów stałych.

Podsumowanie

Wskaźniki są potężnym narzędziem do zarządzania obiektami na stercie. Niosą ze sobą parę „niebezpieczeństw" takich jak np. „gubienie pamięci”, jednak przy rozsądnym i uważnym ich wykorzystywaniu pozwalają uzyskać w programach bezpieczne i efektywne rozwiązania.

Pamiętaj, że możesz zadeklarować wskaźnik jako const (stały) i wykorzystać kompilator do wyszukiwania błędów związanych z niewłaściwym i niezamierzonym użyciem wskaźników.

Pytania i odpowiedzi

P: Dlaczego powinienem deklarować obiekty jako const, mimo że ogranicza to moje możliwości?

O: Jako programista chcesz, aby kompilator pomógł Ci w wyszukaniu błędów w programie. Bardzo dużym błędy, trudnym do zidentyfikowania, jest funkcja, która zmienia obiekt mimo że nie powinna. Deklarowanie obiektów jako const chroni Cię automatycznie przed taką sytuacją.


Wyszukiwarka

Podobne podstrony:
Poznaj C++ w$ godziny0026 10 Godzina 1 Oto kolejne fazy postępowania przy tworzeniu programu wykonyw
Poznaj C++ w$ godziny0056 Instrukcje i wyrażenia 41 Dzielenie całkowite wygląda trochę inaczej niż z
Poznaj C++ w$ godziny0082 68Godzina 5 14:    cout « "Podaj liczbę od 0 do 10,000
Poznaj C++ w$ godziny0112 Więcej o klasach 99Klasy wykorzystujące inne klasy jako dane wewnętrzne Ba
Poznaj C++ w$ godziny0164 Godzina 11Referencje W ciągu ostatnich dwóch godzin nauczyłeś się, jak wyk
Poznaj C++ w$ godziny0235 226Godzina 15Listing 15.8. Wykorzystanie strcpy (). 1:    #
2. Wykorzystanie pakietu dydaktycznego do nauczania algorytmiki i programowania na lekcjach INFORMAT
1925 - po raz pierwszy wykorzystano fale radiowe do przenoszenia dźwięku i obrazu na odległość,
Poznaj C++ w$ godziny0124 112 Godzina 8 112 Godzina 8 ANALIZA: W linii 10 rozpoczynana jest pętla wh
Poznaj C++ w$ godziny0137 IIIZarządzanie pamięcią Godzina 9 Wskaźniki 10    Zaawansow
Poznaj C++ w$ godziny0159 148 Godzina 10 Listing 10.4. Wykorzystanie wskaźnika
Poznaj C++ w$ godziny0236 Tablice 227 jEFEKT DZIAŁANIA: Lancuchl: Nikt nie jest sam Lancuch2: Nikt n
Poznaj C++ w$ godziny0017 XVI Poznaj C++ w 24 godziny ZAWSZE NIGDY Zawsze wykorzystuj tabele Zaws
Poznaj C++ w$ godziny0028 12 Godzina 1 Przepisz program dokładnie. Pamiętaj o wszystkich znakach. Np
Poznaj C++ w$ godziny0032 16 Godzina 2 W linii 1 do programu dołączany jest plik iostream.h. Kompila
Poznaj C++ w$ godziny0044 28 Godzina 3 Wielu programistów preferuje wykorzystywanie jedynie małych l
Poznaj C++ w$ godziny0048 32 Godzina 3 32 Godzina 3 ANALIZA: W linii 4 deklarowana jest zmienna mala
Poznaj C++ w$ godziny0053 38 Godzina 4Białe znaki NOWY TERMIN Spacje, tabulacje, znaki końca linii o
Poznaj C++ w$ godziny0055 40 Godzina 4EFEKT DZIAŁANIA; a: Ob: 0x: Oy: 35 a: 9 b: 7 x: 16 y: 16 W lin

więcej podobnych podstron