Cheatography
https://cheatography.com
Magia wskaźników na jednej ściądze.
Wskaźniki ogólnie
int szczesliwa = 7;
|
Deklaracja zmiennej "szczesliwa" typu int (całkowitego) |
int *wskaznik;
|
Deklaracja wskaźnika na typ int (całkowitego) |
wskaznik = &szczesliwa
|
Przypisanie zmiennej "wskaźnik" adresu zmiennej "szczesliwa" |
int **wskaznik;
|
Deklaracja wskaźnika na wskaźnik typu int (całkowitego) |
void *wskaznik;
|
Deklaracja wskaźnika który może wskazywać na każdy typ. |
Wskaźniki Funkcje
T* mojaFunkcja();
|
Deklaracja funkcji "mojaFunkcja" zwraca wskaźnik na typ T |
T (*f_wskaznik)() = &mojaFunkcja();
|
Ustawienie wskaźnika "f_wskaźnik" na nazwę funkcji o nazwie "mojaFunkcja" |
void()(void*);
|
Deklaracja wskaźnika na funkcję zwracająca wskaźnik na każdy typ danych i przyjmującą wskaźnik na każdy typ |
Wskaźniki Tablice
int *wskaznikTablica = mojaTablica;
|
Wskaźnik na tablice "mojaTablica" , na jej pierwszy element |
int *wskaznikTablica = &mojaTablica[0];
|
Wskaźnik na tablice "mojaTablica" , na jej pierwszy element |
int (*wskaznikTablica)[5];
|
Wskaźnik na tablice "mojaTablica" 5 elementów |
int *mojaTablica[5];
|
Tablica "mojaTablica" pięciu wskaźników typu int |
const char* napis = "Hello" ;
|
Deklaracja wskaźnika na pierwszy znak łańcucha znaków typu "char" |
Przykłady dla int tablica[5] = { 1, 2, 3, 4, 5 };
Referencje
int szczesliwa = 7;
|
Deklaracja zmiennej "szczesliwa" typu int (całkowitego) |
int &referencja = szczesliwa;
|
Przypisanie zmiennej "referencja", zmiennej "szczesliwa" |
int &referencja;
|
Błąd ! Puste referencje nie są możliwe. |
Referencje vs Wskaźnik (Rerencje)
int szczesliwa = 7;
int &referencja = szczesliwa;
cout << szczesliwa; // Wypisze 7
referencja = 10;
cout << szczesliwa; // Wypisze 10
cout << referencja; // Wypisze 10
|
Zmiana zmiennej "referencja" odpowiada zmianie zmiennej "szczesliwa"
Wskaźniki i struktury
str mojaStruktura;
|
Deklaracja struktury "mojaStruktura" o typie str |
str *mojaStruktura;
|
Deklaracja wskaźnika str na strukturę "mojaStruktura" |
mojaStruktura.a = 10;
|
Dostęp do pola "a" struktury "mojaStruktura" |
mojaStruktura->a = 10;
|
Dostęp do pola "a" przez wskaźnik na strukturę "mojaStruktura" |
Wskaźniki wyświetlanie
cout << szczesliwa;
|
Wyświetnie wartości "szczesliwa" |
cout << &szczesliwa;
|
Wyświetnie adresu zmiennej "szczesliwa" |
cout << wskaznik;
|
Wyświetnie adresu zmiennej "szczesliwa" |
cout << *wskaznik;
|
Wyświetnie wartości "szczesliwa" |
cout << &wskaznik;
|
Wyświetnie adresu wskaźnika "wskaznik" |
Wskaźniki Funkcje - wywołanie
mojaFunkcja();
|
Wołanie funkcji mojaFunkcja() za pomocą nazwy (klasycznie) |
*f_wskaznik)();
|
Wołanie funkcji przez wskaźnik f_wskaznik |
Wskaźniki i modyfikator const
const int* wskaznik;
|
Deklaracja wskaźnika "wskaznik" który może wskazywać tylko na stałą typu int |
int * const wskaznik;
|
Deklaracja stałego wskaźniak na typ int |
Wskaźniki - const właściwości
Składnia |
Charakter |
Ponowne przypisanie ? |
Zmiana wartości na którą pokazuje ? |
const int *wskaznik;
|
Wskaźnik na const |
TAK |
NIE |
int const *wskaznik;
|
Wskaźnik na const |
TAK |
NIE |
int* const wskaznik;
|
Wskaźnik const |
NIE |
TAK |
const int *const wskaznik;
|
Wskaźnik const na const |
NIE |
NIE |
const int const *const wskaznik;
|
Wskaźnik const na const |
NIE |
NIE |
Referencje vs Wskaźnik (Wskaźnik)
int szczesliwa = 7;
int *wskaznik = &szczesliwa;
cout << szczesliwa; // Wypisze 7
*wskaznik = 10;
cout << szczesliwa; // Wypisze 10
cout << *wskaznik; // Wypisze 10
|
Zmiana wskaźnika "wskaznik" odpowiada zmianie zmiennej "szczesliwa"
|
Created By
Metadata
Comments
No comments yet. Add yours below!
Add a Comment
Related Cheat Sheets