Pytania oznaczone «pointers»

327
Wskaźniki a wartości parametrów i zwracane wartości

W Go istnieją różne sposoby zwracania structwartości lub jej części. Dla indywidualnych widziałem: type MyStruct struct { Val int } func myfunc() MyStruct { return MyStruct{Val: 1} } func myfunc() *MyStruct { return &MyStruct{} } func myfunc(s *MyStruct) { s.Val = 1 } Rozumiem różnice...

309
Jaka jest różnica między NULL, „\ 0” i 0?

W C, pojawiają się różnice pomiędzy różnymi wartościami Zero - NULL, NULi 0. Wiem, że znak ASCII '0'ocenia na 48lub 0x30. NULLWskaźnik jest zazwyczaj definiowane jako: #define NULL 0 Lub #define NULL (void *)0 Ponadto istnieje NULpostać, '\0'która wydaje się również oceniać 0. Czy zdarza...

298
Wskaźniki w C: kiedy używać znaku handlowego i gwiazdki?

Zaczynam od wskazówek i jestem trochę zdezorientowany. Wiem &oznacza adres zmiennej, który *może być użyty przed zmienną wskaźnika, aby uzyskać wartość obiektu wskazywanego przez wskaźnik. Ale wszystko działa inaczej, gdy pracujesz z tablicami, łańcuchami lub gdy wywołujesz funkcje z kopią...

264
Dlaczego operator strzałki (->) w C istnieje?

Operator dot ( .) służy do uzyskiwania dostępu do elementu struktury, podczas gdy operator strzałki ( ->) w C służy do uzyskiwania dostępu do elementu struktury, do którego odwołuje się dany wskaźnik. Sam wskaźnik nie ma żadnych elementów, do których można uzyskać dostęp za pomocą operatora...

257
Wykorzystanie operatora strzałek (->) w C

Czytam książkę zatytułowaną „Naucz się C w 21 dni” (już nauczyłem się Java i C #, więc poruszam się w znacznie szybszym tempie). Czytałem rozdział na temat wskaźników i operator-> (strzałka) pojawił się bez wyjaśnienia. Myślę, że służy do wywoływania członków i funkcji (jak odpowiednik operatora...

256
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...

246
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 =...

243
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...