Pytania oznaczone «pointers»

98
Jak zwiększyć adres wskaźnika i jego wartość?

Załóżmy, int *p; int a = 100; p = &a; Co właściwie zrobi poniższy kod i jak? p++; ++p; ++*p; ++(*p); ++*(p); *p++; (*p)++; *(p)++; *++p; *(++p); Wiem, że jest to trochę bałaganiarskie, jeśli chodzi o kodowanie, ale chcę wiedzieć, co się właściwie stanie, gdy będziemy pisać w ten...

95
Umieszczenie gwiazdki w deklaracjach wskaźników

Niedawno zdecydowałem, że muszę w końcu nauczyć się C / C ++ i jest jedna rzecz, której nie rozumiem, jeśli chodzi o wskaźniki, a dokładniej ich definicję. A co z tymi przykładami: int* test; int *test; int * test; int* test,test2; int *test,test2; int * test,test2; Otóż, według mojego...

94
Jaki jest sens wskaźników funkcji?

Mam problem ze zrozumieniem użyteczności wskaźników funkcji. Myślę, że w niektórych przypadkach może się to przydać (w końcu istnieją), ale nie przychodzi mi do głowy przypadek, w którym lepiej lub nieuniknione jest użycie wskaźnika funkcji. Czy możesz podać przykład dobrego wykorzystania...

93
Funkcje C # Store w słowniku

Jak utworzyć słownik, w którym mogę przechowywać funkcje? Dzięki. Mam około 30+ funkcji, które mogą być wykonane przez użytkownika. Chcę móc wykonać tę funkcję w ten sposób: private void functionName(arg1, arg2, arg3) { // code } dictionaryName.add("doSomething", functionName);...

92
Usuwanie wskaźnika w C ++

Kontekst: Próbuję zawinąć głowę wokół wskazówek, widzieliśmy je kilka tygodni temu w szkole i podczas dzisiejszych ćwiczeń wpadłem na głupiego? problem, może to być dla ciebie bardzo proste, ale mam niewielkie doświadczenie w programowaniu. Widziałem w SO sporo pytań dotyczących usuwania...

91
Testowanie wskaźników poprawności (C / C ++)

Czy istnieje sposób na ustalenie (oczywiście programowo), czy dany wskaźnik jest „prawidłowy”? Sprawdzanie wartości NULL jest łatwe, ale co z takimi rzeczami, jak 0x00001234? Podczas próby wyłuskiwania tego rodzaju wskaźnika następuje wyjątek / awaria. Preferowana jest metoda wieloplatformowa,...

91
Co to jest „gruby wskaźnik” w Rust?

Czytałem już termin „gruby wskaźnik” w kilku kontekstach, ale nie jestem pewien, co dokładnie oznacza i kiedy jest używany w Rust. Wskaźnik wydaje się być dwa razy większy niż normalny wskaźnik, ale nie rozumiem dlaczego. Wydaje się również, że ma to coś wspólnego z obiektami cech....

90
Czy można zainicjować wskaźnik C na NULL?

Pisałem takie rzeczy jak char *x=NULL; przy założeniu, że char *x=2; utworzy charwskaźnik do adresu 2. Ale w samouczku programowania GNU C jest napisane, że int *my_int_ptr = 2;przechowuje wartość całkowitą 2do dowolnego losowego adresu, w my_int_ptrktórym jest...

90
Odniesienia do zakresów zamiast wartości

Widziałem, że zakres zwraca klucz i „kopię” wartości. Czy istnieje sposób, aby ten zakres zwrócił adres przedmiotu? Przykład package main import "fmt" type MyType struct { field string } func main() { var array [10]MyType for _, e := range array { e.field = "foo" } for _, e := range...

89
Rzutowanie wskaźnika funkcji na inny typ

Powiedzmy, że mam funkcję, która akceptuje void (*)(void*)wskaźnik funkcji do użycia jako wywołanie zwrotne: void do_stuff(void (*callback_fp)(void*), void* callback_arg); Teraz, jeśli mam taką funkcję: void my_callback_function(struct my_struct* arg); Czy mogę to zrobić...