Magia wskaźników na jednej ściądze.
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.
|
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
|
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" |
int tablica[5] = { 1, 2, 3, 4, 5 };
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.
|
int szczesliwa = 7;
int &referencja = szczesliwa;
cout << szczesliwa; // Wypisze 7
referencja = 10;
cout << szczesliwa; // Wypisze 10
cout << referencja; // Wypisze 10
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" |
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"
|
mojaFunkcja(); |
Wołanie funkcji
mojaFunkcja() za pomocą nazwy (klasycznie) |
*f_wskaznik)(); |
Wołanie funkcji przez wskaźnik
f_wskaznik |
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 |
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
|
int szczesliwa = 7;
int *wskaznik = &szczesliwa;
cout << szczesliwa; // Wypisze 7
*wskaznik = 10;
cout << szczesliwa; // Wypisze 10
cout << *wskaznik; // Wypisze 10
No comments yet.
Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.