pointers

Dlaczego "to" jest wskaźnikiem, a nie odniesieniem?

Czytałem odpowiedzi na to pytanie C++ plusy i minusy i miałem wątpliwości podczas czytania komentarzy. Programiści często ... . Po Trzecie, składnia dostępu do referencji (.) jest trochę ładniejsza i krótszy niż dostęp do wskaźników (-> lub (*)).

error: invalid initialization of non-const reference of type 'int&' from an rvalue of type 'int'

Zła forma: int &z = 12; Prawidłowa forma: int y; int &r = y; pytanie: Dlaczego pierwszy kod jest zły? Co to jest" znaczenie " błędu w tytule?

Czy wskaźnik do bazy może wskazywać tablicę obiektów pochodnych?

Poszedłem dziś na rozmowę o pracę i dostałem to ciekawe pytanie. Poza wyciekiem pamięci i faktem, że nie ma Wirtualnego dtor ... th; }; int main() { Shape * shapes = new Rectangle[10]; for (int i = 0; i < 10; ++i) shapes[i].draw(); }

const char * i char const * - czy są takie same?

Z mojego zrozumienia, const modyfikatory powinny być odczytywane od prawej do lewej. Z tego Rozumiem: const char* Jest ws ... //this doesn't although I expect it to work Więc... który to? Czy moje zrozumienie czy mój kompilator (VS 2005) się myli?

Odbiornik wartości vs. Odbiornik wskaźnika w Golang?

Jest dla mnie bardzo niejasne, w którym przypadku chciałbym użyć odbiornika wartości zamiast zawsze używać odbiornika wskaźni ... artości wyraźnie ma większy sens niż odbiornik wskaźnika? A może robię coś złego w benchmarku, czy przeoczyłem inne czynniki?

Jak wyjaśnić wskaźniki C (deklaracje a operatory jednoargumentowe) początkującemu?

[11]} miałem ostatnio przyjemność wyjaśnić wskazówki początkującemu programiście C i natknąłem się na następujące trudności. ... ie z oczekiwaniami. Model koncepcyjny nie wydaje się spójny. Coś mnie ominęło? Edit: próbował podsumować odpowiedzi tutaj.

Stały wskaźnik vs wskaźnik do stałej [duplikat]

To pytanie ma już odpowiedź tutaj: Jaka jest różnica między const int*, const int * const i int const*? ... icę między const int* ptr; I int * const ptr; I jak to działa. Trudno mi to zrozumieć i zapamiętać. Proszę o pomoc.

Odwrócenie ciągu w C

Opracowałem program odwróconego ciągu. Zastanawiam się, czy jest na to lepszy sposób i czy mój kod ma potencjalne problemy. C ... only traverse half the array of characters */ if(k == (len / 2)) { break; } } }

Dlaczego [object doSomething] a nie [*object doSomething]?

W Objective-C, dlaczego [object doSomething]? Czy nie byłoby [*object doSomething] skoro wywołujesz metodę na obiekcie?, co oznacza, że powinieneś zdereferować wskaźnik?

Czy zmienne Pythona są wskaźnikami? albo czym one są?

Zmienne w Pythonie są tylko wskaźnikami, o ile wiem. Bazując na tej zasadzie, mogę założyć, że wynik dla tego fragmentu ko ... książka o Pythonie obejmuje ten przykład: i = [1,2,3] j = i i[0] = 5 print(j) Wynikiem będzie [5,2,3]. Co źle Rozumiem?

Dlaczego polimorfizm nie działa bez wskaźników/odniesień?

Znalazłem już kilka pytań o podobnym tytule-ale kiedy czytałem odpowiedzi, skupiali się na różnych częściach pytania, które b ... no tak długo, jak przydzielasz pamięć na stercie - żeby można było mieć dynamiczne Wiązanie to by wystarczyło-oczywiście nie.

Jak zrozumieć skomplikowane deklaracje funkcji?

Jak rozumieć przestrzeganie skomplikowanych deklaracji? char (*(*f())[])(); char (*(*X[3])())[5]; void (*f)(int,void (*)()); char far *far *ptr; typedef void (*pfun)(int,float); int **(*f)(int**,int**(*)(int **,int **));

Wyjątek od tablicy nie rozkłada się na wskaźnik?

Widziałem w wielu postach, że "w większości przypadków nazwy tablic rozpadają się na wskaźniki".Czy Mogę wiedzieć w jakich przypadkach / wyrażeniach nazwa tablicy nie rozpada się na wskaźniki do pierwszych elementów?

Wskaźniki funkcji i adres funkcji

Więc pomyślałem, że podczas tworzenia wskaźników funkcji, nie potrzebujesz operator &, aby uzyskać adres początkowej funk ... ablicami i funkcjami? Czy adres jest zapisany w miejscu pamięci, które ma ten sam adres, Co zapisywana w nim wartość (adres)?

Przekazywanie odniesień do wskaźników w C++

Z tego, co wiem, nie ma powodu, dla którego nie powinienem przekazywać odniesienia do wskaźnika w C++. Jednak moje próby w ty ... ; // ... } I dostaję ten błąd: Nie można przekonwertować parametru 1 z 'std::string *' na 'std:: string * &'

Dlaczego łańcuch może być przypisany do wskaźnika char*, ale nie do tablicy char []?

Może ktoś wyjaśnić dlaczego to działa ze wskaźnikiem: char * str1; str1 = "Hello1"; str1 = "new string"; // but not this char str2 [] = "hello"; str2 = "four"; // or this char str3 []; str3 = "hello"; str3 = "hello";

Arytmetyka wskaźnika [zamknięta]

Czy ktoś ma jakieś dobre artykuły lub wyjaśnienia (blogi, przykłady) do arytmetyki wskaźników? Widownia to banda programistów Javy uczących się C i C++.

Poprawny sposób deklarowania zmiennych wskaźnikowych w C / C++ [zamknięty]

Zauważyłem, że niektórzy używają poniższej notacji do deklarowania zmiennych wskaźnikowych. (a) char* p; Zamiast (b) cha ... go rodzaju wskaźnikami, które wskazują na znak. W tym ponieważ następny wygląda bardziej naturalnie. char *c, *d; Dzięki.

Jak używać wyrażeń wskaźnikowych, aby uzyskać dostęp do elementów tablicy dwuwymiarowej w C?

Wiem, że dla tablic jednowymiarowych x=a[i] jest równoważne x=*(a+i), ale jak Mogę uzyskać dostęp do elementów tablic dwuwymiarowych za pomocą wskaźników?

C++ Zwracające Wskaźniki / Referencje

Mam dość dobre zrozumienie operatora dereferencyjnego, adresu operatora i wskaźników w ogóle. Jednak się mylę, gdy widzę tak ... icjalizowane jako liczby całkowite jako globalne. Czy ktoś może potwierdzić, czy mam rację ze wszystkimi czterema pytaniami?