068 TIF

068 TIF




unikanie nieoczekiwanych wyników



Używanie deklaracji const *

Przed

void Napis::lnicjNapis(char * pch, int cch)

{

m_cch = 0; m_pch ~ NULL; if(cch)

Po

void Napis::lnicjNapis(const char * pch, int cch)

{

m_cch = 0; m_pch = NULL; if(cch)

Użycie deklaracji const przed wskaźnikiem gwarantuje, że zawartość w buforze nie zmieni się. We fragmencie „Przed” metoda InicjNapis mogłaby zmienić zawartość napisu inicjalizującego, gdybyśmy chcieli. We fragmencie „Po” metoda InicjNapis nie może zmienić zawartości napisu inicjalizującego. Zapewnia to dodatkowy poziom bezpieczeństwa uniemożliwiający nieoczekiwane zapisywanie pamięci.

Przykład: String::InitStringQ w pliku String.cpp


Unikanie błędów podczas użycia deklaracji const

kompilowanie kodu

Kod źródłowy

void Te$tConstConst1(char const * const*ppch)

{

char ch;

*ppch - &ch; //Błąd **ppch = ch; //Błąd

}

void TestConstConst2(char *const*ppch)

{


Wyszukiwarka

Podobne podstrony:
Liczenie bajtów w funkcjach wewnętrznych unikanie awarii; unikanie nieoczekiwanych wynikówPrzed floa
32Ostrożność przy wybieraniu typów ze znakiem lub bez znaku unikanie nieoczekiwanych wynikówPrzed in
ne wskazówki int RExp::IChlnSz(unsigned char chSrc, const char *pch, int cch){ _asm{ xor eax, eax mo
122 TIF Utworzenie wirtualnych destruktorów w wypadku spodziewanego dziedziczenia unikanie nieoczeki
137 TIF my przy lym osiruznosu. 103Zachowywanie znaczenia operatorów unikanie nieoczekiwanych
Image16 12. .Opisz deklarację: const char *const c; stały wskaźnik do stałej zmiennej typu char. dek
skanuj0014 tif unikanie tychże. Dzięki elektronicznej naturze rynku walutowego, unikanie płacenia po
093 TIF Tworzenie stałych operatorów 80 kompilowanie kodu Przed class Napis { char & operator[]

więcej podobnych podstron