Typy pochodne w C++

Wiele osób ma problemy z odróżnieniem pojęć wskaźnik czy referencja. Postaram się w sposób w miarę łopatologiczny pokazać jaka jest różnica 🙂

Wskaźnik

Wskaźnik to obiekt, dzięki któremu mamy możliwość umieszczenia adresu jakiegoś innego obiektu w pamięci. Mniej więcej można przetłumaczyć, że wskaźnik wskazuje “na coś”. Z życia można porównać to ze skrótem do katalogu czy pliku. W tym wypadku skrót byłby wskaźnikiem, bo wskazuje na plik czy katalog.

Teraz przedstawię króciutki programik, który powinien wyjaśnić na czym polega zabawa ze wskaźnikami 🙂

Może sobie go skompilować przy użyciu Dev C++. Bardzo dobry kompilator i oczywiście za darmo 🙂 Oto kod programiku:

#include <cstdlib>
#include <iostream>
#include <conio.h>

using namespace std;

int main(int argc, char *argv[])
{
int a,b;
int *wskaznik;
a=10;
b=20;
wskaznik = &a;
cout << “Adres komorki wskazywanej przez wskaznik: ” << wskaznik << endl;
cout << “Zawartosc komorki wskazywanej przez wskaznik: ” << *wskaznik;
wskaznik = &b;
cout << endl << “Adres komorki wskazywanej przez wskaznik: ” << wskaznik << endl;
cout << “Zawartosc komorki wskazywanej przez wskaznik: ” << *wskaznik;

*wskaznik = 15;

cout << endl << “a: ” << a << endl;
cout << “b: ” << b << endl;

return 0;
}

Następnie poniżej znajduje się wywołanie w/w kodu.

a1

Referencja

Referencja to tak jakby inna nazwa danego obiektu. Przy pomocy referencji możemy “dostawać” się do danego obiektu używając jego innej nazwy. To zupełnie jakbyśmy utworzyli kilka skrótów do jednego pliku, ale inaczej je nazwali.

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.