14. Kurs C++ dla początkujących - Wskaźniki cz. 1

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 ก.ย. 2024
  • Wsparcie kanału - patronite.pl/KoW
    Zapraszam do subskrybowania mojego kanału:
    / kodeksonline
    Cały kurs C++ - • 1. Kurs C++ dla począt...
    -- Chcesz wiedzieć więcej? --
    - Polecane kursy Online:
    1. Kurs C++ od zera do bohatera: strefakursow.p...
    2. Kurs C++ aplikacje w Visual Studio: strefakursow.p...
    3. Kurs C++ aplikacje bazodanowe: strefakursow.p...
    4. ŚCIEŻKA PROGRAMISTA C++: strefakursow.p...
    Zapraszam również do innych moich kursów:
    Python - • 1. Kurs Python 3 - wst...
    Kotlin - • 1. Kurs Kotlin - Wstęp...
    Java - • 0. Kurs Java dla począ...
    C# - • Kurs C# 2.0 - Odświeżo...
    C - • 1. Kurs języka C - Wst...
    HTML & CSS - • 1. Kurs HTML & CSS - W...
    PHP - • 1. Kurs PHP - Wstęp: H...
    JavaScript - • 1. Kurs JavaScript - W...
    SQL - • 1. Kurs SQL - Łączenie...
    Unity - • 1. Kurs Unity - Wstęp,...
    Scratch - • 1. Kurs Scratch - Prog...
    Algorytmy - • Algorytmy - Sortowanie...
    Arduino - • 1. Kurs Arduino - Diod...
    Blender - • 1. Kurs Blender - Wstę...
    AutoCAD - • 1. Kurs AutoCAD 2020 -...

ความคิดเห็น • 26

  • @nikoska5
    @nikoska5 2 ปีที่แล้ว +12

    Nic nie zrozumiałem :D

  • @krzysztofstrojek7175
    @krzysztofstrojek7175 2 ปีที่แล้ว +6

    Jak czegoś nie rozumiecie, to musicie po prostu obejrzeć jeszcze raz, spauzować w tym momencie w którym nie rozumiecie i zastanowić się przez chwilę, zróbcie kilka zadań, a jak nie umiecie zrobić zadania, to przeanalizujcie jakiś przykład, przeczytajcie jakąś książkę, albo jakiś artykuł na ten temat, zapytajcie jakiegoś znajomego co się na tym zna. Na pewno coś się da zrobić. Wiem, bo sam przez to niedawno przechodziłem.

  • @marcingendek6103
    @marcingendek6103 4 ปีที่แล้ว +6

    zajebisty przykład z tą funkcja naprawde, propsy za kurs !

  • @Bart3onNauka
    @Bart3onNauka ปีที่แล้ว +3

    Mega dobrze wytłumaczone! Dzięki wielkie

  • @600bandzior
    @600bandzior ปีที่แล้ว +5

    bardzo dobry jest kurs tylko brakuje mi jednej rzeczy. Fajnie by było po każdej lekcji dodać przykład do czego w praktyce służy każda lekcja bo jak ktoś jest zupełnie zielony jak ja 😛to nie bardzo wie gdzie takie rzeczy może wykorzystać ale ogólnie świetny kurs 🙂

  • @wojciechjaworski602
    @wojciechjaworski602 4 ปีที่แล้ว +5

    @25:00 technicznie rzecz biorąc "&x" jest prawidłowe, uzyskamy po prostu adres lokalnej zmiennej "x" znajdującej się w bieżącej ramce stosu.
    Jeżeli chodzi o subtelne różnice między wskaźnikiem a tablicą to mały przykład może co nieco wyjaśnić:
    #include
    int tab[] ={2};
    int *x = tab;
    printf(" x %p, &x %p, *x %d
    ", x, &x, *x);
    printf("tab %p, &tab %p, *tab %d
    ", tab, &tab, *tab);
    nazwa tablicy tab jest synonimem adresu jej pierwszego elementu, adres tablicy też wskazuje na adres jej pierwszego elementu. Dodatkowo jest to wartość stała czyli nie można jej modyfikować: tab++ nie skompiluje się, ale x++ będzie wskazywać na kolejny element.
    Przy wyłuskaniu wartości to w zasadzie nie ma żadnych różnić:
    x[1] == *(x+1)
    tab[1] == *(tab+1)
    Jak wspomniałeś trzeba uważać na tablice w liście parametrów funkcji, bo można się na tym czasami nieźle przejechać. Tutaj taka mała demonstracja:
    gist.github.com/jvoytech/214db4ad3481c1ec121f7722a3458753
    Ps. masz dobrą dykcję idealną do nagrywania tutoriali, tak trzymać :-). Fajnie by było posługiwać się jakimiś rysunkami, bo suchy tekst nie zawsze wystarcza. Rysunki komórek pamięci i strzałek jako wskaźniki ułatwiło by zrozumienie tematu. Polecam mypaint, nieograniczone pole do rysowania, łatwość rysowania nawet myszką chociaż tablet z piórem lepszy. Albo Blender, w nim to i jakieś animacje można szybko ogarnąć.

    • @blekfut5763
      @blekfut5763 3 ปีที่แล้ว +1

      Człowieku, to jest kurs dla początkująych, a zawsze się jakiś mądrala próbuje lansować pod cudzym kanałem, udowadniając jedynie że nie ma za grosz talentu pedagogicznego. Myślisz że ktoś będzie analizował twój przykład opisany w dodatku językiem typowego nerda?

    • @S4von
      @S4von 3 ปีที่แล้ว +3

      @@blekfut5763 Typie usuń konto xD

    • @krzysztofstrojek7175
      @krzysztofstrojek7175 2 ปีที่แล้ว

      ale to już chyba wchodzimy w klasy, to na późniejszy odcinek

  • @KoW
    @KoW  3 ปีที่แล้ว +1

    Zapraszam do skorzystania z pełnej "ścieżki programisty C++" - strefakursow.pl/sciezki_kariery/c_developer.html?ref=87991

  • @johnymnemonic4657
    @johnymnemonic4657 ปีที่แล้ว +1

    Wskażniki to specjalne zmienne przechowujące adresy pamięci,gdzie coś jest zapisane.Wskażnikom przypisujemy adresy elementów &elem,jeśli przypisujecie zmiennej wartość to ta zmienna musi mieć adres w pamięci,gdzie przechowywana jest przypisana wartość.Wskażnik pozwala pobrać ten adres.

  • @marcinlesniewski4571
    @marcinlesniewski4571 4 ปีที่แล้ว +3

    8:00 tutaj jest pewna nieścisłość. Ponieważ zarówno zmienna w main jest tab jak i void tab co moze zamazywać obraz. Proponuje tam w voiidzie nazwac tablica.
    ...
    int tab[] = { 5 };
    cout

  • @spoiler-man9640
    @spoiler-man9640 4 ปีที่แล้ว +16

    Nie rozumiem

  • @rjackyl
    @rjackyl ปีที่แล้ว

    no, generalnie kurs bardzo fajny (obejrzałem do tej pory pierwsze 13 odcinków). Autor fajnie tłumaczy, ma też miły głos, dobrą dykcję itd itp. Ale przyznam, że ta 14 lekcja po raz pierwszy sprawiła mi kłopot. Zdaję sobie sprawę, że to wszystko są kwestie subiektywne, każdy ma "inny umysł" i inaczej przyswaja itd ale tu coś chyba jednak poszło za szybko. Ja bym zaczął lekcję od jasnego wytłumaczenia, że każda zmienna ma swój adres w pamięci i swoją wartość i trochę tu się zatrzymał na róznych przykładach. Po wtóre nie przypominam sobie aby wcześniejsze lekcje zawierały wytłumaczenie, że funkcja zmienia dane tylko w ramach swojej funkcji. Po trzecie w końcu kwestia tej "kopii" - tu już odleciałem. Cóż, ja przynajmniej musze się tu zatrzymać i ten konkretny temat zgłębić gdzieś indziej (zanim odpalę numer 15). Dzięki za pracę!

    • @Harkacz
      @Harkacz ปีที่แล้ว

      tak samo mam

  • @kubaleman3440
    @kubaleman3440 4 ปีที่แล้ว

    9:30
    A nie prawda, bo w php sami decydujemy o tym czy chcemy do funkcji przenieść całą tablice czy referencję do niej:
    $arr = [5];
    var_dump($arr);
    change($arr);
    var_dump($arr);
    function change(Array &$arr) {
    $arr[0] = 1;
    }
    Jednakże usuwając z sygnatury funkcji &, wskazujemy, że przekazywana ma być do funkcji cała tablica razem z zawartością function change(Array $arr).

    • @KoW
      @KoW  4 ปีที่แล้ว +1

      Jest to pobranie adresu, wskaźnik, oeszem jest możliwe, ale kopia jest zawsze, tylko że adresu ;)

  • @NAOMI-nx4gg
    @NAOMI-nx4gg 5 หลายเดือนก่อน +2

    matko, pierwszy raz ktoś tak tragicznie tłumaczy

  • @PLsuperPL
    @PLsuperPL ปีที่แล้ว +1

    420 lapek upamietniam wydarzenie xd

    • @Harkacz
      @Harkacz ปีที่แล้ว

      423 teraz

    • @PLsuperPL
      @PLsuperPL ปีที่แล้ว

      teraz 433@@Harkacz

    • @Harkacz
      @Harkacz ปีที่แล้ว

      @@PLsuperPL ale to nie zmienia faktu że wskaźniki są durnowate

    • @PLsuperPL
      @PLsuperPL 11 หลายเดือนก่อน

      no wsm tak@@Harkacz

    • @PLsuperPL
      @PLsuperPL 11 หลายเดือนก่อน

      sa badziewne@@Harkacz

  • @blekfut5763
    @blekfut5763 3 ปีที่แล้ว +1

    24:06 - dobry kanał, ale za dużo się powtarzasz i komplikujesz. Dlaczego po prostu nie powiesz że &x to byłby adres zmiennej x (czyli adres adresu ;) , a samo x - to adres zmiennej a? x = &a i tyle.

    • @PiotrPL1234
      @PiotrPL1234 3 ปีที่แล้ว +8

      Właśnie dobrze, że powtarza. Takim sposobem początkujący mogą sobie dobrze utrwalić te zagadnienia