Pytania otagowane jako pointers

Typ danych, który „wskazuje” na inną wartość przechowywaną w pamięci. Zmienna wskaźnikowa zawiera adres pamięci jakiegoś innego bytu (zmiennej, funkcji lub innego bytu). Tego znacznika należy używać w przypadku pytań związanych ze stosowaniem wskaźników, a nie odniesień. Najpopularniejsze języki programowania używające wskaźników to C, C ++, Go i języki asemblera. Użyj określonego tagu językowego. Inne przydatne tagi to metoda, funkcja, struktura itp. Opisujące użycie wskaźnika.

12
Wskaźnik vs. odniesienie
Jaka byłaby lepsza praktyka przy nadawaniu funkcji oryginalnej zmiennej do pracy z: unsigned long x = 4; void func1(unsigned long& val) { val = 5; } func1(x); lub: void func2(unsigned long* val) { *val = 5; } func2(&x); IOW: Czy jest jakiś powód, aby wybierać między sobą?


7
Jak przekazać obiekty do funkcji w C ++?
Jestem nowy w programowaniu w C ++, ale mam doświadczenie w Javie. Potrzebuję wskazówek, jak przekazywać obiekty do funkcji w C ++. Czy muszę przekazywać wskaźniki, referencje lub wartości inne niż wskaźnik i inne? Pamiętam, że w Javie nie ma takich problemów, ponieważ przekazujemy tylko zmienną, która zawiera odniesienie do …

7
size_t vs. uintptr_t
Standard C gwarantuje, że size_tjest to typ, który może przechowywać dowolny indeks tablicy. Oznacza to, że logicznie size_tpowinno być w stanie pomieścić dowolny typ wskaźnika. Czytałem na niektórych stronach, które znalazłem w Googles, że jest to legalne i / lub powinno zawsze działać: void *v = malloc(10); size_t s = …
246 c  pointers  size-t 

14
Wskaźnik do elementu danych klasy „:: *”
Natknąłem się na ten dziwny fragment kodu, który dobrze się kompiluje: class Car { public: int speed; }; int main() { int Car::*pSpeed = &Car::speed; return 0; } Dlaczego C ++ ma ten wskaźnik do niestatycznego elementu danych klasy? Jaki jest pożytek z tego dziwnego wskaźnika w prawdziwym kodzie?
243 c++  class  pointers  c++-faq 

4
Jakiego wskaźnika używam, kiedy?
Ok, więc ostatnim razem, gdy pisałem C ++ na życie, std::auto_ptrbyło wszystko, co było dostępne w standardowej wersji lib, i to boost::shared_ptrbyła wściekłość. Nigdy tak naprawdę nie przyglądałem się innym dostępnym rodzajom inteligentnych wskaźników. Rozumiem, że C ++ 11 zapewnia teraz niektóre typy ulepszeń, ale nie wszystkie. Czy ktoś ma …


7
Czy są zalety przejścia przez wskaźnik nad przejściem przez referencję w C ++?
Jakie są zalety przejścia przez wskaźnik nad przejściem przez referencję w C ++? Ostatnio widziałem wiele przykładów, które wybrały przekazywanie argumentów funkcji przez wskaźniki zamiast przekazywania przez odwołanie. Czy są z tego korzyści? Przykład: func(SPRITE *x); z wezwaniem func(&mySprite); vs. func(SPRITE &x); z wezwaniem func(mySprite);


17
Zwraca tablicę w funkcji
Mam tablicę, int arr[5]która jest przekazywana do funkcji fillarr(int arr[]): int fillarr(int arr[]) { for(...); return arr; } Jak mogę zwrócić tę tablicę? Jak mam z niego korzystać, powiedzmy, że zwróciłem wskaźnik, w jaki sposób mam uzyskać do niego dostęp?

25
Czym dokładnie jest wskaźnik C, jeśli nie jest to adres pamięci?
W renomowanym źródle o C po omówieniu &operatora podane są następujące informacje : ... To trochę niefortunne, że terminologia [adres] pozostaje, ponieważ dezorientuje tych, którzy nie wiedzą, o co chodzi w adresach, i wprowadza w błąd tych, którzy to robią: myślenie o wskaźnikach tak, jakby były adresami, zwykle prowadzi do …

17
Przekazywanie przez odniesienie w C
Jeśli C nie obsługuje przekazywania zmiennej przez referencję, dlaczego to działa? #include <stdio.h> void f(int *j) { (*j)++; } int main() { int i = 20; int *p = &i; f(p); printf("i = %d\n", i); return 0; } Wynik: $ gcc -std=c99 test.c $ a.exe i = 21




Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.