Kurs C++ odc. 10: Wskaźniki. Dynamiczne alokowanie pamięci

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ม.ค. 2025

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

  • @Unknown-rd8nb
    @Unknown-rd8nb 4 ปีที่แล้ว +289

    Nawet przy krojeniu cebuli nie wylałem tylu łez co podczas nauki C++.

  • @MrMShady
    @MrMShady 2 ปีที่แล้ว +72

    Jako, ze kurs nadal po tylu latach jest oglądany;
    rada dla tych ktorzy sie gubią, ktorej sam kiedys potrzebowalem przy wskaznikach:
    Nic na sile, jezeli nie wchodzi odpusc i pojdz dalej, po to aby wrocic tu pozniej. Przerob nawet caly kurs podstawowy, nawet kurs obiektowy. Zupelnie inaczej spojrzysz na wskazniki i referencje gdy oswoisz sie troche z programowaniem. Miej z tylu glowy "zrozumiem to w swoim czasie/wroce za jakis czas" a siłą rzeczy tak wlasnie bedzie.
    Przyznam, ze sam osobiscie mialem problemy z tematem alokowania pamieci, wskaznikow i referencji, az do czasu rozpoczecia pracy jako programista. Uzywalem tego co prawda bo to konieczne, znalem cala teorie, wiedzialem co, kiedy, jak i dlaczego ale robilem to troche po omacku, to musi zaskoczyc i tyle.

    • @Tobix320
      @Tobix320 8 หลายเดือนก่อน +2

      chyba nie mam innego wyboru niż posłuchanie się twojej rady dzięki ;)

    • @bartomiej6824
      @bartomiej6824 4 หลายเดือนก่อน

      Dokladnie tak jest, ze wszytskim trudniejszym w programowaniu, sam wiem z doswiadczenia, kolega ma swieta racje! :D

    • @MinecraftKarol2005
      @MinecraftKarol2005 2 หลายเดือนก่อน +3

      Ale jutro kolos

  • @vito24222
    @vito24222 8 ปีที่แล้ว +133

    Nie do końca, ale już zaczynam rozumieć. Musiałem obejrzeć ten film z parę razy, porobić odpowiednie notatki, pobrać materiały z bloga i tam po znakach // dodać odpowiednie komentarze. Pomogło.
    Nie przejmujcie się jeżeli nie rozumiecie, ważne aby próbować :D

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

    Jeżeli macie błąd to przez 32 bitowego inta, należy go zmienic na 64 bitowego np. long long int.
    -> cout

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

    Dzien dobry bardzo dziekuje za lekcje z pana filmów z panem Borowiakiem z 15LO Gdańsk ulica Pilotoów 2A Kocha Pana!!!!!!!!!!!!!!! Jest Pan informatycznym depeściakiem ❤😻

  • @sylwesterpudelski7471
    @sylwesterpudelski7471 4 ปีที่แล้ว +290

    Jeżeli ktoś ma problem z error: cast from 'int' to ' *int' loses precision [ -fpermisive] to należy otworzyć w
    CodeBlocks ->Settings->Compiler->Other Compiler Options-> I tam w tym polu po prostu wpisujemy -fpermissive
    I będzie działało ;) Zajęło mi to kilka dni, żeby naprawić :D

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

      wow dzięki :>

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

      mi tylko pare minut znalezienie Twojego komentarza, dzieki za oszczedzony czas :)

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

      DZIĘKUJĘ

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

      a ktoś wie o co chodzi z tym błędem dlaczego w ogóle się pojawia ?

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

      @@MrTheDanthe dlatego, że kompilujesz na platforme 64bit to wskaźnik na int ma 64bit, ale sam int już 32bit. Kompilator cie ostrzega dlatego, że przy próbie rzutowania dostaniesz jakieś śmieci a nie faktyczną wartość. A co to tego rozwiązania to bez sensu jest uciszać kompilator, wystarczy zamienić int na jakiś typ 64bit, np long long, inptr_t, int64_t, itp.

  • @graczu88
    @graczu88 9 ปีที่แล้ว +247

    Panie Mirosławie ;] Jestem zachwycony w jaki sposób przedstawia Pan zagadnienia programowania. Prosto, czytelnie i na prawdę zrozumiale. Chapeau bas!
    Gdyby laboratoria na moich studiach wyglądałoby w ten sposób to pewnie nie przenosiłbym się na grafikę.
    Oświata powinna zainteresować się tymi materiałami, a nauczyciel/wykładowca byłby tylko od sprawdzania wyników.
    Pozdrawiam i życzę dalszych sukcesów ;]

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

      Gdzie studiowałeś? Jeśli nie jest to tajemnicą? :D

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

      @@heniekhenkowski411 To chyba była jednak tajemnica

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

      @@InvisibleConfusion pewnie jakaś wysoko-rangowa polibuda

    • @bougahh
      @bougahh 3 ปีที่แล้ว

      @Gunnar Dustin Zamknij się baranie jesteś w Polsce to po polsku mów

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

      @@bougahh a co jeśli nie jest w Polsce, kimkolwiek on był? To chyba nie PRL że się wyjeżdża z kraju za pozwoleniem od łaskawej władzy

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

    Witam. Zostawiam komentarz. Chce się przebranżowić na branżę IT i idzie mi naprawdę ciężko,mało co rozumiem bo wszystko ulatuje z głowy ale nie poddaje się. Będę się starał do końca,znajdę swoją pierwszą pracę w branży IT. Dziękuję że są ludzie tacy jak Pan. Pozdrawiam

  • @Tinishai
    @Tinishai 9 ปีที่แล้ว +254

    18:38 linijki 33 i 34 powinny być zamienione :)

    • @pampi9662
      @pampi9662 9 ปีที่แล้ว +12

      +Kami LPM wielkie dzięki! chyba z pół godziny jak nie dłużej się z tym głowiłem i przeszukiwałem fora szukając odpowiedzi na treść błędu XDD jeszcze raz dzięki ^^

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

      +Michał Klemiato Nie ma sprawy, powodzenia! :)

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

      +Kami LPM no i dzięki wielkie!
      nie pozdrawiam wszystkich tych fifarafa programistow tutaj

    • @Tinishai
      @Tinishai 8 ปีที่แล้ว

      Ale mnie pozdrawiasz? :D

    • @bartoszgrzybowski4073
      @bartoszgrzybowski4073 8 ปีที่แล้ว +12

      +Kami LPM Nie pozdrawiam jeszcze konfidentów, wszystkich pozostałych pozdrawiam!

  • @Glomsky
    @Glomsky 9 ปีที่แล้ว +2

    W okolicach 6:50 jest chyba błąd - przy 'tablica' :
    tablica = new int [ile]
    nie ma gwiazdki, bo nie chodzi nam o tego na co wskazuje wskaźnik (a chodzi o adres własnie). Poprawcie mnie jesli się mylę.
    Pozdrowienia.

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

    Wróciłem z ciekawości do starszych odcinków - jak ten, kiedy zaczynałem swoją naukę z programowaniem. Panie Mirku to tu słucha się o wiele lepiej, niż odcinki robione teraz. Głos jakby bardziej naturalny i nie ma muzyczki, która rozprasza. Pozdrawiam serdecznie i dziękuję za pomoc przy starcie :)

  • @kubak.1810
    @kubak.1810 6 ปีที่แล้ว +1

    Panie Miroslawie, dziekuje za podana Wiedze, za Wyjasnienie Tematu i Przedstawienie go w taki cudowny Sposob! :D
    Mi zostaje Praktywowac dana Wiedze dalej na Forach, Stronach, tworzac nowe wlasne Programy. Zrozumialem duzo a choc co z Programowaniem zaczolem.
    Dziekuje jeszcze raz i prosze o wiecej Materialow!

  • @human-b3b
    @human-b3b 7 ปีที่แล้ว +2

    Świetnie prowadzony kurs, nareszcie zwięzłe wytłumaczenie skąd się wszystko bierze a nie jak to często bywa rób tak i koniec. Jakby jeszcze pod filmami były zestawy zadań do zrobienia to praktycznie byłoby wszystko aby utrwalić sobie podstawy.

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

    Witam,
    do kursu C++ podchodzę nie po raz pierwszy w swoim życiu i mam nadzieję, że nie ostatni. Pan Mirosław prowadzi mnie przez moje studia Informatyki, gdzie programować po prostu trzeba umieć i nie ma czasu na tyle poświęcenia ile [pan Mirosław] wkłada w dbałość o zrozumienie u uczniów. Odcinek ze wskaźnikami początkowo był dla mnie przerażający, ale teraz jestem już w miarę oswojony z tematem i nie boję się tej wiedzy. Pozwoliłem sobie zamieścić komentarz ze względu na drobny problem, który napotkałem podczas kompilacji kodu w CodeBlocks na swojej maszynie. W momencie 8:20 "Po prostu int w nawiasach, to wystarczy", okazało się, że u mnie nie wystarczy. Kompilator narzekał, że nie otworzy programu, bo:
    error: cast from 'int*' to 'int' loses precision [-fpermissive]|
    Jako, że jako przyszły informatyk jestem leniwy to zrezygnowalem z badania przyczyn tego bledu i zastosowalem u siebie rozwiązanie alternatywne:
    Zamiast tej linii:
    cout

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

      tez tak mam

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

    kiedyś nie zrozumiałem tego tematu co spowodowało, że opuściłem naukę C++.
    minęło pół roku, wróciłem do tego filmika i planuję kontynuować swoją drogę z tym językiem.
    Nie dajcie się za wygraną 😎

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

    Żaden poradnik mi nie pomógł ze wskaźnikami dopóki nie znalazłem tego.WYTłumaczone IDEALnie

  • @rabaababa5519
    @rabaababa5519 10 ปีที่แล้ว +2

    Wysiadam w połowie, zacznę chyba od początku oglądanie. ;)

  • @tomaszzsamot3087
    @tomaszzsamot3087 11 ปีที่แล้ว

    Witam. Uważam, że robi pan kawał dobrej roboty! Nie chodzi mi tylko o kurs, który zapewne wielce pomaga ludziom takim jak ja, a mam tu na myśli niedoszłych techników informatyków. Przeglądałem testy z kwalifikacji E12, świetna sprawa. Jeżeli pojawią się testy z pozostałych kwalifikacji będę wniebowzięty. Szacunek za to co pan robi.

  • @skoru2
    @skoru2 4 ปีที่แล้ว +2

    Jeżeli masz błąd kompilacji w 8:27:
    Masz masz komputer 64 bit i konwersja (int)tablica ci nie zadziała. Zamieniłem ten zapis na reinterpret_cast(tablica) i poszło
    Proszę doświadczonych programistów o odpowiednie wytłumaczenie tego zagadnienia, ja się dopiero uczę :)

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

    Dla mnie jak narazie najtrudniejszy odcinek, ale takie są najlepsze.

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

    Ten kanał to skarb narodowy

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

    Pamiętam kiedyś nawet zacząłem uczyć się Cplusa krok po kroku jakiś kurs i fajnie mi szło, praktycznie wszystko rozkminiałem aż doszedłem do wskaźników właśnie, które okazały się ścianą i końcem mojej nauki...

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

    Na prawde gratuluje za chec jak i za poswiecenie czasu ktory pan poswiecil robiac ten kurs !!
    Szczerze mowiac do tego odcinka rozumialem wszystko tylko tu musialem powtorzyc filmik :p

  • @kubus.636
    @kubus.636 2 ปีที่แล้ว +1

    dokładnie rok temu zacząłem się uczyć programować. Doszedłem bardzo dawno temu do wskaźników i stwierdziłem że nie potrzebne mi są, ale zacząłem programowanie obiektowe i polimorfizm to wskaźniki bardzo są potrzebne do tego, nie rozumiałem tego tematu i wróciłem do proceduralnego od zera znowu. Teraz mogę powiedzieć, że rozumiem wskaźniki tylko trzeba poświęcić na to trochę czasu

  • @kacperp7852
    @kacperp7852 5 ปีที่แล้ว

    ja nie mogę ! 10 odcinek za mną rozumiem wszystko a robię to w 8 klasie Panie Mirosławie naprawde panu dziękuje wiem że raczej pan tego nie zobaczy (film opublikowany był 5 lat temu) ale po prostu mam takie wrazenie ze moze jednak jakos pan to odczyta

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

    cout

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

      XD przerabiajac ten kurs czuje sie jak wojownik

  • @Flukad
    @Flukad 8 ปีที่แล้ว

    Dziwne, zrozumienie tego nie sprawiło mi aż takich trudności na jakie się nastawiłem, natomiast w poprzednich filmach tej serii, gdy coś powinno być łatwe (ponieważ Pan Zelent tłumaczył to prostymi słowami i bez większych przykładów), nie zrozumiałem kilka rzeczy do końca, nie czuję tego, że to dobrze przepracowałem i będę musiał jeszcze do poprzednich części wrócić. Każdy najwidoczniej jest inny, ale najważniejsze, żeby każdy to miał na prawdę w głowie. Zaczynałem się martwić, czy ten kurs to będzie tylko teoria i przykłady. Bałem się, że będę musiał szukać ćwiczenia, dla samodzielnego tworzenia, w internecie, ale na szczęście wspomniał Pan, że niedługo czeka mnie praktyka. Dziękuję jak zawsze!

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

    Jak słucham tego co Pan mówi to przypomina się pewien rozdział z Symfonii c++ :)

    • @Przeciętny_Zjadacz_Chleba
      @Przeciętny_Zjadacz_Chleba 4 ปีที่แล้ว

      Oczywiście. Nie znam ani jednego zawodowego programisty C/C++ który nie uczył się na książkach Jerzego Grębosza. I jak widać Panu Mirosławowi również jest ona nie obca ;-)

  • @ProjektPierscien
    @ProjektPierscien 8 ปีที่แล้ว +32

    Fakt wskaźniki są ciężkie, ale trochę pracy i można działać!

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

      wow Wiśnia nie wiedziałem, że programujesz :D

    • @tentend321
      @tentend321 8 ปีที่แล้ว

      SZTUCZNA GŁUPIA WIŚNIA PODRÓBKA WIŚNI TA KTÓRA ROBI CIEKAWOSTKI

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

      MardesPL Najpierw bartekzbartek (Wiśnia)

    • @tentend321
      @tentend321 8 ปีที่แล้ว

      MardesPL Boxdel to gowno

    • @4programming17
      @4programming17 8 ปีที่แล้ว

      Nareszcie znalazłem kanał prawdziwego wiśni :-D ! (Nagrasz jakiś film o programowaniu XD ?)

  • @DamianJuszczak2981
    @DamianJuszczak2981 11 ปีที่แล้ว

    Jak zwykle Super!

  • @karolgrabek8915
    @karolgrabek8915 8 ปีที่แล้ว

    Świetnie wytłumaczone jak działają wskaźniki. Dopiero teraz naprawdę je rozumiem
    Pozdrawiam

  • @antekzajac8530
    @antekzajac8530 8 ปีที่แล้ว

    Trudny temat, ale bardzo podoba mi się programowanie i im trudniej tym bardziej jestem nim zainteresowany. 3 raz oglądałem ten odcinek i dopiero dotarło do mnie jak się robi wskaźniki. Tak poza tematem, to bardzo podobają mi się kursy, jakie pan przygotowuje dla początkujących. :)

  • @tudaleful
    @tudaleful 11 ปีที่แล้ว +7

    7:21 Kolejne indeksy to 0, 1, 2 i 4? Wiem, czepiam się szczegółów, ale znalezienie błędu w Pańskim poradniku to sztuka :) .

  • @sergiusz6472
    @sergiusz6472 6 ปีที่แล้ว

    Jak pan mówi posłuchaj to aż chce się słuchać :P

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

    13:52 - i to mnie BARDZO myliło: po co deklarować wskaźnik, jeśli w pierwszej części programu go nie używamy - po co linie 12 i 13, skoro wystarczyłoby
    int tablica[ile]?

  • @blekfut5763
    @blekfut5763 4 ปีที่แล้ว +32

    8:21 - u mnie "rzutowanie zmiennej na typ int" nie działa, otrzymuję komunikat : "|error: cast from 'int*' to 'int' loses precision [-fpermissive]| - o co chodzi?

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

      to jest uproszczona wersja wypisywania, według standardów jedyna gwarantowana opcja wypisywania adresów to printf("%p", wskaznik). Z drugiej strony jak dasz kompilatorowi opcję -fpermissive to on zwyczajnie to zignoruje i zadziała tak jak jest w wideo.

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

      @@supersonictumbleweed Mam to samo, jak "dasz kompilatorowi opcję -fpermissive" to zrobić?

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

      @@kthmhg jak chcesz zrobić dokładnie jak w wideo to tak, ale to jak się daje dodatkowe argumenty do kompilatora to już zależy od twojego środowiska (czy Visual Studio czy Eclipse czy CodeBlocks).
      alternatywnie zamień to co jest w wideo na printf("%p", wskaznik);
      ^ różnica w powyższym to to %p które jest specjalnie do wskaźników podczas gdy autor wideo używa %d (chyba) które jest ogólnie do liczb

    • @kthmhg
      @kthmhg 4 ปีที่แล้ว +13

      @@supersonictumbleweed Dobra śmiga, dzięki wielkie (Dla tych co to będą czytać, trzeba zastąpić cały wers z cout wersem : printf("%p",tablica); )

    • @Kaloe-san
      @Kaloe-san 4 ปีที่แล้ว +1

      Dzięki Wielkie Panom!

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

    Zatrzymałem film w połowie (przed zaczęciem pisania przykładów) i przez dwa dni zbierałem się w sobie, żeby kontynuować 😂

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

    dla tych co wychodzi 22:30 srednia 1,2 trzeba zmienic na

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

    Dobry odcinek, pewnie wielu ludziom wyjaśni dlaczego i jak używać wskaźników.

  • @UHILON44
    @UHILON44 8 ปีที่แล้ว

    Panie Mirosławie, świetny kurs. Polecam go każdemu kto chce zacząć przygodę z programowaniem. Bardzo za niego dziękuję.
    Osobiście robię kurs jednocześnie z podręcznikiem "C++. Przewodnik dla początkujących" Alexa Allain. Dla mnie połączenie kursu i książki jest świetną praktyką, jak czegoś nie rozumiem to uzupełnię to w książce lub kursie. Po skończeniu książki i Pana kursu czeka Java :) Pozdrawiam.

    • @ZegarekOszczypa123
      @ZegarekOszczypa123 8 ปีที่แล้ว

      I jak tam idzie ;D?

    • @UHILON44
      @UHILON44 8 ปีที่แล้ว

      Już lecę z Javą :)

    • @ZegarekOszczypa123
      @ZegarekOszczypa123 8 ปีที่แล้ว

      A z czego się uczysz? Z jakiś książek czy kursów w sieci?

    • @UHILON44
      @UHILON44 8 ปีที่แล้ว

      wykupiony mam kurs na stronie javastart.pl + książki "rusz głową JAVA wyd.II" oraz "JAVA Podstawy wyd. IX". Po tym jak dobrze ogarnę podstawy to biorę się za JavaEE

  • @muaythailsd238
    @muaythailsd238 9 ปีที่แล้ว +2

    Film nie jest zły ale,
    19:10 nie do końca prawda jeżeli chodzi o obecne kompilatory, obecnie kompilator po dodaniu dyrektywy O2/O3 może poradzić sobie nawet lepiej mając tablice zamiast wskaźników. Przykłady z filmu generuje praktycznie identyczne czasy dla tablic i wskaźników po dodaniu O2.
    24:31 nie referencje tylko wskaźnik :)
    25:04 wypada dodać że jeżeli zmienimy wartość zmiennych w funkcji to zmienią się poza nią.

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

    ~10:00 Świetnie wytłumaczone! Dzięki!

  • @timtim699
    @timtim699 5 ปีที่แล้ว

    Dziękuję bardzo za wiedzę

  • @dominator1978
    @dominator1978 10 ปีที่แล้ว +2

    Kawał dobrej roboty :D Dziękuję :)

  • @stalowa_armia
    @stalowa_armia 9 ปีที่แล้ว +43

    Powróciłem drugi raz do tego odcinka, ponieważ miałem problemy ze zrozumieniem. Teraz z czystym sumieniem mogę powiedzieć, że rozumiem zastosowanie wskaźnika oraz zaczynam potrafić go używać.
    Dzięki ***** :)
    Niech RAM będzie z tobą

    • @olivierkus
      @olivierkus 7 ปีที่แล้ว +9

      ja już wracam 4 :/

    • @adrianpaz9566
      @adrianpaz9566 7 ปีที่แล้ว +4

      Ja też nie ogarniam :( trudny odcinek..

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

      Niech RAM będzie z Tobą

  • @Wi3rzb0
    @Wi3rzb0 6 ปีที่แล้ว +7

    07:20 ma być indeks: 3 w ostatnim, popraw pan panie Mirosławie

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

    Wow, ten odcinek był wyczerpujący ;) ale jak zwykle świetny materiał!!

  • @przemek_woźniak
    @przemek_woźniak 3 ปีที่แล้ว

    Udało się :) czyli wydaje mi się, że zrozumiałem :) dzięki wielkie!

  • @DonEsteban3D
    @DonEsteban3D 8 ปีที่แล้ว +17

    5:36-6 misja terran ;p

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

    12:29 "Nazwa tablicy jest jednocześnie adresem jej zerowego elementu", ja bym powiedział inaczej: Adres tablicy zaczyna się od tego samego bajta co adres zerowowego elementu tablicy. - Myślę, że to łatwiej zrozumieć. No i w = &tablica to wskaźnik na całą tablicę, a w = tablica to wskaźnik na zerowy element tablicy. Normalnie ten adres to 4 bajty, bo to typ int, ale może być więcej np jeśli się zaznaczy adres całej tablicy, a nie tylko że ma wskazywać tablicę w ogóle, niekoniecznie całą. Nie jest to wcale takie trudne, tylko trzeba wiedzieć.

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

    Tak się zainteresowałem C++, że "pożeram" pańskie odcinki. W jeden dzień przerobiłem aż 5.

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

    Jeśliby ktoś miał problem z błędem wyskakującym przy delete(w Visual studio to "debugbreak") 8:36 to nie można dodawać inkrementacji w linijce 18(w filmie), zamiast tego proponuje wykasowanie tej linijki i stworzenie wskaźnika lokalnego dla pętli i przypisaniu mu adresu konkretnej komórki pamięci która ma się wyświetlić
    int* p = &arr[i];
    Oto cały kod:
    int main()
    {
    int number;
    std::cout > number;
    int * arr = new int[number];
    for (int i = 0; i < number; i++) {
    int* p = &arr[i];
    std::cout

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

    Robiłem jakiś czas temu jakiś kurs C++ i właśnie do wskaźników doszedłem i na tym zakończyłem kurs... ;) Poza napisanie prostego programiku liczącego zużycie paliwa albo cenę danej wagi lub objętości np. złota i podobne żenady - nie wyszedłem. Co ciekawe z programiku liczącego zużycie paliwa nawet korzystam... ;)

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

    Powiem to co każdy chce powiedzieć "Merci że jesteś tu"

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

    Świetny odcinek! Tak jak wspomniałeś, nie jest to łatwy temat. Od piątego odcinka zastanawiałem się jak można na początku programu liczącego średnią ustalić ilość ocen, które komputer ma policzyć do średniej. Udało mi się rozszerzyć program liczący średnią o wpisanie ilości ocen do policzenia. Jeśli kogoś to zainteresowało, proszę sprawdzić i ewentualnie wprowadzić jakieś poprawki :)
    #include
    using namespace std;
    int ile;
    float oceny=1;
    float suma=0, srednia;
    int main()
    {
    cout

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

    Czytam akurat książkę "Symfonia C++" i przez problemy ze zrozumieniem tego trudnego tematu jakim są wskaźniki zajrzałem tutaj... ktoś tu chyba czytał książkę Grębosza i posługuje się użytymi przez niego przykładami :D I słusznie, bo są bardzo dobre!

    • @RaxonPC
      @RaxonPC 3 ปีที่แล้ว

      i jak, programujesz dalej?

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

    4 podejścia do tego odcinka a i tak nie do końca załapałem. Niby rozumiem co to i po co to ale jak zaczynasz tego używać to już jest trudniej... No nic, potrzeba praktyki :D

  • @andreww2130389
    @andreww2130389 9 ปีที่แล้ว +5

    Czy czasem w 12:39 nie ma błędu?
    Przypisując adres zerowego indeksu tablicy nie powinniśmy użyć w = tablica?
    Na filmie jest że zamiast w=&tablica[0] mozemy uzyc w= &tablica.

    • @jhhj626
      @jhhj626 9 ปีที่แล้ว +4

      +Andrzej Wrzosek włącz adnotacje :)

    • @andreww2130389
      @andreww2130389 9 ปีที่แล้ว +2

      +hg song , faktycznie :D Mam wyłączone bo przeważnie są wkurzające ;)

  • @KrzysztofStarzyk
    @KrzysztofStarzyk 10 ปีที่แล้ว +5

    Chciałbym Mirku serdecznie podziekować. To jak prowadzisz ten kurs to mistrzostwo. Musisz wiedziec, że dzieki temu kursowi pomagasz wielu ludziom. Oczywiście subskrypcja i lajk pod każdym przeanalizowanym filmem. Ja też mam szacunek do twojego czasu ,wiec pozdrawiam i lece do Code Blocka. ;)

  • @kaksspl
    @kaksspl 9 ปีที่แล้ว +12

    Tylko skąd wiemy, w której komórce znajduje się wartość z mierników?
    (26:00)

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

      Musi działać program, który będzie sczytywał z magistrali to, co czujnik wysyła, więc nie jest to dla komputera/programisty wiedza tajemna

  • @Kisnowar
    @Kisnowar 3 ปีที่แล้ว

    8:12 Dlaczego nie można tutaj użyć w pętli for cout

    • @Ev3r0x
      @Ev3r0x 3 ปีที่แล้ว

      można, nawet trzeba, ten jego kod to jakaś porażka, miesza c z c++ i uczy złych praktyk

    • @UgaGeguga
      @UgaGeguga 3 ปีที่แล้ว

      @@Ev3r0x Bo to jest poradnik z 5 lat i wtedy te "złe praktyki" nie były złymi praktykami

    • @Ev3r0x
      @Ev3r0x 3 ปีที่แล้ว

      @@UgaGeguga Uważasz że arytmetyka gołych wskaźników jest dobrą praktyką w c++? Tak samo jak dziś, 5 lat temu też to nie było dobre. W żadnym dobrym kursie dla początkujących takiego czegoś nie ma, bo to wprowadza tylko zamieszanie. Ten kurs był przestarzały nawet wtedy gdy powstawał, nie ma w nim prawie nic ze standardu c++ 11, a już był..., o STLu też nic nie wspomniał, chociażby o kontenerach albo podstawowych algorytmach.

  • @Bartozios
    @Bartozios 11 ปีที่แล้ว +2

    Jej nareszcie wskaźniki

  • @TheGryvi
    @TheGryvi 11 ปีที่แล้ว

    dzięki, wiedziałem czym jest wskaźnik, ale teraz wiem jak mogę go zastowować :D

  • @bene8114
    @bene8114 7 ปีที่แล้ว +5

    Wydaje mi się, że do 8m23s w przykładzie jest kilka błędów. Tj. bezpośrednie zwiększanie wskaźnika poprzez "tablica++" skutkuje tym, że po wyjściu z pętli tablica będzie wynosiła wartość końcowego adresu + 4 bajty (int), w C++11 funkcja "delete [] tablica" zwróci błąd "invalid poitner". lepszym rozwiązaniem jest cout

  • @chrabosztm2234
    @chrabosztm2234 6 ปีที่แล้ว

    5:05 nie dokońca po prostu deklaracje możemy zrobić po wyznaczeniu N i wyglądało to by tak long double fib[n]

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

    Po tym odcinku z kursu odpadło 200 tys osób

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

    Panie Mirku, dziękuję za wykłady! Mistrzostwo świata! Jednak zaproponowany kod w liniach 33 i 34 generuje mi błąd: "exited with code -1073741819".
    Zamiast tego wpisałem
    int* wskaznik= new int[ile];
    I taka linia działa.
    Kontynuuję naukę!

  • @NIGHTMARE01
    @NIGHTMARE01 4 ปีที่แล้ว +2

    Studia informatyki na polibudzie gdańskiej pozdrawiają

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

    @Mirosław Zelent
    Czy przestawienie wskaźnika tablica w przykładzie pokazanym w 8:10 i później podanie go przy operatorze delete spowoduje prawidłowe usunięcie tablicy z pamięci ?
    Co przyjmuje delete[ ] ? adres początku tablicy, czy obojętne jaki adres ale w obszarze zaalokowanym przez new ? Jak można sprawdzić czy pamięć została pomyślnie usunięta ? z góry dzięki za odpowiedź :)

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

      Masz rację: stackoverflow.com/questions/6420329/can-i-delete-a-pointer-that-points-into-an-allocated-array-but-not-to-the-sta

  • @Bajdikx
    @Bajdikx 2 ปีที่แล้ว +8

    Mam problem z debugowaniem kodu, który rozwiązałem.
    Obecnie sam przerabiam cały kurs pracując w Microsoft Visual Studio, ale jeśli coś mi nie działa to sprawdzam kod jeszcze w CodeBlocks.
    Spowodowany był on błędem w linijce 33 oraz 34.
    33 tablica = new int[ile];
    34 int *wskaznik = tablica;
    Dokładnie wygląda to tak jak w filmiku, ale po pobraniu materiałów zauważyłem, że w Pana kodzie te dwie linijki są zamienione.
    Satysfakcja z rozwiązania problemu jest spora :D Coraz bardziej lubię studiować kody i znajdować w nich błędy ^^
    Dajcie znać jeśli ktoś miał ten sam problem :D

    • @AndrzejAAn
      @AndrzejAAn 4 หลายเดือนก่อน

      dokładnie ten sam problem u mnie wystąpił, dobrze że trafiłem na twój komentarz

  • @chocisz
    @chocisz 9 ปีที่แล้ว +22

    Dla mnie zdecydowanie jest to najtrudniejszy dotychczas odcinek... Ale nie dam się:D:D Panie Mirosławie kiedy będą następne odcinki PHP? Bo nie ukrywam, że C++ to dla mnie wstęp do dalszej nauki PHP.

    • @91TheSebastian
      @91TheSebastian 4 ปีที่แล้ว

      z perspektywy czasu myslisz, ze C++ jako wstep do PHP to byl dobry pomysł?

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

      @@91TheSebastian Według mnie C++ to bardzo dobry, lecz wymagający wstęp do daleszej nauki programowania. Uczy myślenia i samokontroli przy pisaniu kodu. C++ nie prowadzi za rękę i nie wybacza błędów. Traktuje programistę jako osobę rozumną, pozwala na wiele rzeczy i daje duże pole manewru programiście. Co do PHP, na twoim miejscu darowałbym PHP. Obecnie mało kto wykorzystuje PHP w projektach komercyjncyh, wiele projektów opiera się teraz o Node.js

    • @91TheSebastian
      @91TheSebastian 4 ปีที่แล้ว +4

      @@blowmanPL ja traktuje c++ tylko jako wstęp, ale potem chce uderzyć w Javę i w przyszłym roku zrobić wszystko żeby się dostać na juniora. Nie miałem wcześniej nic wspólnego z IT i od kilku miesięcy samodzielnie się ucze

    • @g1en3k
      @g1en3k 3 ปีที่แล้ว

      @@blowmanPL aktualnie nie lepiej isc w pythona wydaje mi sie że to bardzo rozwojowy język?

  • @abstynent4857
    @abstynent4857 5 ปีที่แล้ว +2

    Przy tym programie drugim patrzę i w plikach też jest błąd możecie mieć problem że nie wyświetla wam się czas ze wskaźnikiem wystarczy usunąć kod ten pierwszy delete[] tablica; a ten drugi zostawić i git pozdrawiam

  • @prog5946
    @prog5946 10 ปีที่แล้ว +10

    Panie Mirosławie: ma Pan rzadki dar mówienia o rzeczach trudnych w prosty sposób. Proszę kontynuować nagrywanie kursów, bo są rewelacyjne. Mogę tylko napisać: bardzo dziękuję.

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

    Dla tych co używają XCode.
    Zamiast (int) stosujcie (uintptr_t) i delete nie będzie działał dopóki tablica nie będzie miała pierwotnej wartości, czyli
    tablica=tablica-ile;
    delete [] tablica;
    żeby uniknąć powrotu do pierwotnej wartości stosuje się podobno zapis tablicowy w pętli for . Jak się douczę to zrobie edit!

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

      douczyłeś się?

    • @2233igor
      @2233igor ปีที่แล้ว

      @@kollyr5524 juz nawet nie pamietam o co chodziło i nie robie w C++ 🥹

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

      @@2233igor wróciłeś do C++?

  • @gomeziiiwielki2048
    @gomeziiiwielki2048 8 ปีที่แล้ว

    Ten odcinek przyszedł mi łatwiej niż nr.8 :D

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

    Mam pytanie. Dlaczego w pętli for (14:05) zapisujemy numer iteracji tablicy, skoro z założenia zaczyna się od zera? Czy moglby mi ktos to wyjasnic, prosze?

  • @dani.sports
    @dani.sports ปีที่แล้ว +1

    Błąd który nie wiem dlaczego autor odcinka nie miał spowodowany błąd a visual studio 2022 przy próbie inkrementacji tablicy próbuje usunąc co powoduje błąd powinnien albo o tym wspomnieć gdzieś jak to robią lub dać jakiś odcinek z poprawioną wersją . Uważajcie na ten błąd 5:00 do 10:00 gdzieś bo później będziecie się zastanawiać co się odwaliło

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

    21:50 -> Ja bym dał unsigned :D
    Uczcie się wskaźników!
    Przy dziedziczeniu (polimorfiźmie) się przyda jak mało co.

    • @kubus.636
      @kubus.636 2 ปีที่แล้ว

      Nieeeeeeeeeeeeeeeeeeeeeee

  • @rubenmax7310
    @rubenmax7310 11 ปีที่แล้ว +2

    Chciałbym powiedzieć że jest to najlepszy kurs jaki znalazłem w polsce. :) dzięki Panu w końcu zaczynam coś rozumieć... do tej pory czytając książki było to bardzo ciężkie do zrozumienia, a tu jest o wiele wiele lepiej. Przydałyby się jeszcze tylko jakieś zadania do zrobienia w PDF + zrobione ("odpowedzi") zad by móc sprawdzić czy poanalizować kod. Bo jak wiadomo tylko praktyka i samowolne wklepywanie kodu i różnych przypadków może nauczyć. Bo tak to nie wiem jak ćwiczyć jeszcze te odcinki. Wtedy było by naprawdę super! i mam nadzieje że mógłby Pan coś takiego w przyszłości dodać... dziekuje

    • @Rzabo
      @Rzabo 11 ปีที่แล้ว

      Zadanie mam także w Symfonii C++, ale tam muszę stronę parę razy przeczytać, aby zrozumieć, tutaj miałem tak z odczytem/zapisem do pliku, ale chodziło raczej o to, że nie do końca rozumiałem pętlę for. Po raz kolejny dziękuję za świetny kurs i proszę o kontynuację!

  • @blekfut5763
    @blekfut5763 4 ปีที่แล้ว +2

    14:09 - nie rozumiem czemu w jednej linijce deklarujesz że tablica[i]= i a w następnej dodajesz 50 - dlaczego nie zrobić tego w jedenj linii: tab [i]=i+50?

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

    Elegancko

  • @dominikmlynarczyk
    @dominikmlynarczyk 7 ปีที่แล้ว

    W 17:05 jest drobna, aczkolwiek istotna pomyłka. 2^32 bajtów jest równe 4GB, nie 2^32 bitów. :)
    Pozdrawiam.

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

    W 21 minucie funkcja wykorzystuje przekazanie danych poprzez wskaźnik, a nie referencję.
    Dla zmiennych podstawowych:
    srednia (float x) - przez wartość
    srednia (float &x) - przez referencje
    srednia (float *x) - przez wskaznik
    Dla tablic mamy:
    srednia (float tab[]) - przez referencje
    srednia (float *tab) - przez wskaznik

  • @MonkKingKong
    @MonkKingKong 10 ปีที่แล้ว +8

    Witam. Napisałem program do liczenia czasu pracy operacji na wskaźnikach i bez nich i co zaobserwowałem to to, że 8/10 przypadków czas pracy na wskaźnikach jest większy. Zdziwiło mnie to mocno. Raczej zrobiłem wszystko dobrze, na początku pomyślałem, że może nie wyzerowałem zegara, ale zeruje. Zauważyłem też, że jeżeli nie zrobię delete wcześniejszej tablicy, to czas ten znacznie się skraca i wyniki są porównywalne(procentowo) do tego co obserwowałem na filmiku. Pozdrawiam

    • @adamwrzesniewski1468
      @adamwrzesniewski1468 7 ปีที่แล้ว

      Mam tak samo. A kod skopiowałem ze strony więc nie ma mowy o błędzie z mojej strony. Pytanie jakiego używasz kompilatora, frameworka itd. I czy masz system 32- czy 64 bitowy.

  • @AntekElektronik
    @AntekElektronik 4 ปีที่แล้ว +2

    8:19 no właśnie mi nie wystarcza , error: cast from 'int' to ' int' loses precision [ -fpermisive]
    bardzo proszę o pomoc!

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

      tu sie spytaj
      facebook.com/groups/jaknauczycsieprogramowania/?epa=SEARCH_BOX

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

      setting -> compiler -> other compiller options i wklej to: -fpermissive

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

      @@xetoyt8780 Bardzo mi pomogłeś!

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

      @@xetoyt8780 kocham cie byniu, pomogles mi

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

      @@xetoyt8780 Dzięki złoty człowieku

  • @neresiak
    @neresiak 7 ปีที่แล้ว

    19:10
    U mnie gdy próbuje zmierzyć ze wskaźnikiem program przestaje działać.
    W czym problem?
    #include
    #include
    #include
    using namespace std;
    int ile;
    clock_t start, stop;
    double czas,czasa;
    int main()
    {
    cout >ile;
    int *tablica;
    tablica = new int [ile];
    start=clock();
    for(int i=0; i

  • @marcinbiaecki9731
    @marcinbiaecki9731 5 ปีที่แล้ว

    Dzięki :)

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

    Where have you been all my life? ^^
    Fantastyczny kurs, wiem że minęło milion lat ale nie wytrzymam i muszę to napisać.

  • @siemniak
    @siemniak 8 ปีที่แล้ว

    Mam pytanie może trochę dzwine. Około 8:30 minuty tworzymy tą tablice. Chciałem sobie zobaczyć co będzie jeśli dam cout

    • @MrPete1223
      @MrPete1223 8 ปีที่แล้ว

      siemniak No nie powinno być zero, bo dopóki nie przypiszesz zmiennym wartości, to one mają randomowe wartości. Spróbuj sobie zadeklarować tablicę bez inicjowania jej wartości i odczytuj po kolei jej elementy.

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

    Super odcinek, tylko podsumowania brakło :(

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

    Problem " cast from 'int' to ' *int' loses precision [ -fpermisive] " można również rozwiązać wpisując w nawiasie "intptr_t" zamiast "int".

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

      reinterpret_cast(tablica) wiem data

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

    16:43 wpisałem 1000000000 (10 miliardów ) i zawiesiłem komputer. Po naciśnięciu enter nic się nie działo ale po 20 sekundach. Myszka się nie ruszała , alt+f4 też nie działał. Po prostu konsola z liczbą 10000000000 nic nie dało się zrobić. Wyłączyłem go i teraz będę włączał

  • @rabaababa5519
    @rabaababa5519 10 ปีที่แล้ว

    Witam, chciałbym nieco zapytać. Otóż w 11:35 mówi Pan, w+=5 jest to szufladka nr 6, a gdy jest zapis w-=2 nie powinna byc szufkladka nr -1? Z góry dziękuję za odpowiedź. :)

    • @MonkKingKong
      @MonkKingKong 10 ปีที่แล้ว

      Raczej nie było by możliwe wejść na ujemny zakres w tablicy, wykroczył byś po za pamięć tablicy i "zassał" jakieś śmieci.

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

    interesujące jest to że u mnie wskaźnik potrzebuje więcej czasu niż liczenie bez niego (:

  • @badder9492
    @badder9492 5 ปีที่แล้ว +13

    Czas zapisu (bez wskaznika): 1.109
    Czas zapisu (ze wskaznikiem): 1.042 wow

    • @pabiak8021
      @pabiak8021 5 ปีที่แล้ว +6

      Przy większej ilości danych różnice widać lepiej

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

      Ale jak masz duży program to różnice są większe

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

    Przede wszystkim świetny kurs, bardzo dużo się póki co nauczyłem, a jestem na niecałej połowie przecież ; 0. Bardzo dziękuje!
    Aczkolwiek w tym odcinku jednej rzeczy nie do końca zrozumiałem, może ktoś z obecnych na forum pomoże.
    Czy w programie 2, tym w którym badamy która operacja zajmie więcej czasu, w pierwszej części w jaki sposób zapełniamy tablicę wartościami?
    Przecież zmienna tablica jest wskaźnikiem(jest wczytana poprzez int *tablica);
    Więc czy pętla:
    "for (int i=0; i

  • @user-nt5kd4eq9d
    @user-nt5kd4eq9d 4 ปีที่แล้ว +1

    27:17 - proste asf

  • @Snajperov
    @Snajperov 8 ปีที่แล้ว

    Nobel z przekazywania wiedzy informatycznej dla Pana!!! Kazda uczelnia powinna Panu placic za obowiazkowe odtwarzanie tych materialow.
    Czy jest gdzies opisane double *& i double **?

  • @rafciopranks3570
    @rafciopranks3570 3 ปีที่แล้ว

    witam, czy można to przetłumaczyć na język C? 6:50

  • @Logarytms
    @Logarytms 11 ปีที่แล้ว +2

    Dobry odcinek. Muszę tylko napisać, że bardzo dużo tutaj jest porównań podobnych do Pasji C++ Gębosza :)