Wskaźniki w C++ cz1

Cześć!

Dzisiaj zajmiemy się rzeczą bardzo ważną i fundamentalną w rozwoju informatyki. Zajmiemy się wskaźnikami.

Czym jest wskaźnik ?

Wskaźnik to zmienna która, zawiera w sobie adres innej zmiennej. Pokażmy to na przykładzie:

int * myPointer;
int variable;
myPointer = &variable;


Co w tym momencie zrobiliśmy ? Przypisaliśmy do zmiennej myPointer adres zmiennej variable. Adres oznaczany jest &(ampersandem). Pojawia się teraz pytanie po co Nam adres ?

Otóż do kilku ważnych rzeczy. Po pierwsze szybkość. Komputer wiedząc gdzie ma się udać zrobi coś szybciej, niż przeszukując bit po bicie. Po co jeszcze ? By za-alokować dynamicznie pamięć.

Brzmi groźnie. W istocie sprowadza się do tego, że jeśli chcemy mieć pamięć dynamiczną, czyli taką którą możemy usunąć, gdy nie jest Nam potrzebna lub coś do Niej dodać(co jest kłopotliwe). Dlaczego potrzebuje do tego wskaźników ? Wskaźnik zawiera adres i komputer dzięki temu adresowi wie gdzie będzie zawierać się dynamiczna tablica.

Spróbujmy dynamicznej alokacji na przykładzie:

int *myTable = new int [10];

W tym momencie tablica myTable zawiera 10 elementów. Należy pamiętać, by każdą tablicę za alokowaną w ten sposób, należy usunąć.

delete [] myTable;

I tablica usunięta.

Komentarze

Popularne posty z tego bloga

Co dokładnie oznacza std::cout<<"Witaj Swiecie!"<<'\n''; w C++ ?

Klasy, Przestrzenie nazw, Nonlocal, Global i Local. Czy Python ma zmienne prywatne ?

Przeciążanie operatorów w C++