JBGraphics
JBGraphics
  • 16
  • 7 683
[Polish] The C++ Club - 16. Unions, Private Inheritance, PIMPL, Ref-Qualification, Aggregates
Omawiamy funkcjonalności związane z OOP w C++: unie, dziedziczenie prywatne i chronione, agregaty, inicjalizację agregatów, designated initialisers, ref-kwalifikację oraz idiom PIMPL.
Więcej o type punning: stackoverflow.com/q/67636231/12501684
Więcej o const&&: th-cam.com/video/J4A2B9eexiw/w-d-xo.html
00:00 - Unie
06:16 - Teoria typów
11:26 - Alternatywy do uni
13:07 - Użycia uni
17:07 - Inicjalizacja agregatów
21:13 - Designated Initializers
23:59 - Dziedziczenie prywatne i chronione
29:02 - Użycia prywatnego i chronionego dziedziczenia
34:24 - Ref-kwalifikacja funkcji członkowskich
40:53 - Implementowanie klas w plikach źródłowych
44:37 - PIMPL
#programming #oop #polymorphism
มุมมอง: 430

วีดีโอ

[Polish] The C++ Club - 15. RTTI, typeid, type_info, name mangling
มุมมอง 3862 ปีที่แล้ว
C ma w sobie elementy wysokopoziomowego dynamicznego języka obiektowego. Omawiamy RTTI, operatory typeid, klasę std::type_info i std::type_index, name mangling, użycie dziedziczenia i RTTI w mechanizmie wyjątków oraz std::variant i std::any. 00:00 - Uzyskiwanie informacji o typach 05:34 - Operator typeid 10:56 - Klasa std::type_info 17:28 - Użycie type_info 22:47 - Name mangling 31:01 - Układ R...
[Polish] The C++ Club - 14. Multiple Inheritance and virtual base classes
มุมมอง 2522 ปีที่แล้ว
Dziedziczenie wielokrotne nie musi być złe. Omawiamy też problem diamentu, wirtualne klasy bazowe, name lookup, overload resolution, dynamic_cast i reprezentację dziedziczenia w pamięci. 00:00 - Wstęp 00:15 - Typy dynamiczne 02:23 - dynamic_cast 06:41 - Dziedziczenie wielokrotne 09:48 - Deklaracja using w dziedziczeniu wielokrotnym 10:48 - Name lookup 18:32 - Overload Resolution 20:18 - Inicjal...
[Polish] The C++ Club - 13. Polymorphism, Virtual Functions and Abstract Classes
มุมมอง 2742 ปีที่แล้ว
Czym jest polimorfizm? Omawiamy rodzaje polimorfizmu, funkcje wirtualne i vtables, klasy abstrakcyjne, interfejsy, slicing oraz klasy zagnieżdżone w C . 00:00 - Wstęp 00:13 - Klasy zagnieżdżone 05:54 - Czym jest Polimorfizm? 06:43 - Polimorfizm Ad Hoc 10:20 - Rodzaje polimorfizmu 12:48 - Jak wynaleźć funkcje wirtualne? 30:18 - Funkcje wirtualne 37:16 - Destruktory wirtualne 39:12 - Specyfikator...
[Polish] The C++ Club - 12. Inheritance and Smart Pointers
มุมมอง 2533 ปีที่แล้ว
Mówimy o dziedziczeniu publicznym i o std::unique_ptr, std::shared_ptr i std::weak_ptr (tzw. mądrych wskaźnikach). Omawiamy także różne sposoby na przyjmowanie parametrów do funkcji oraz zwracanie z nich wartości. Poza tym mówimy także o kwalifikatorze protected, wewnątrzklasowym using-declaration, ukrywaniu metod odziedziczonych z klasy bazowej i o podstawach polimorfizmu. Link do prezentacji:...
[Polish] The C++ Club - 11. Ownership and Copy & Move Semantics
มุมมอง 6183 ปีที่แล้ว
Czym różni się konstruktor kopiujący od przenoszącego? Jak je wykorzystać w copy and swap idiom? Omawiamy dokładnie semantykę kopiowania i przenoszenia włączając w to konstruktory kopiujące, konstruktory przenoszące, kopiujące operatory przypisania, przenoszące operatory przypisania, Zasadę Zerę, Zasadę Pięciu, a także kategorie wartości - xvalue, lvalue, rvalue, glvalue, prvalue. Omawiamy takż...
[Polish] The C++ Club - 10. Object Oriented Programming. Part III
มุมมอง 2253 ปีที่แล้ว
Omawiamy przyjaciół klas, wskaźniki do składowych, zdefiniowane przez użytkownika konwersje, oraz przeciążanie operatorów. Prezentacja jest dostępna tutaj: slides.com/janekb04/10-oop-p3
[Polish] The C++ Club - 9. RAII
มุมมอง 3693 ปีที่แล้ว
Dlaczego "}" to najważniejszy znak w C ? RAII wyróżnia C jako język umożliwiający na automatyczne zarządzanie zasobami. Omawiam także specyfikator mutable, konstruktory, konstruktory domyślne, konstruktory default, konstruktory delete, konstruktory explicit, konstruktory konwertujące, typy inicjalizacji, destruktory, listy inicjalizacyjne członków i std::initializer_list. Prezentacja jest dostę...
[Polish] The C++ Club - 8. Object Oriented Programming
มุมมอง 3623 ปีที่แล้ว
Omawiamy kluczowe idee programowania obiektowego - klasy, obiekty, metody, enkapsulację - i ich implementację w C . Pokazujemy także miejsce OOP wśród różnych paradygmatów programowania. Link do prezentacji: slides.com/janekb04/08-oop-p1
[Polish] The C++ Club - 7. Functions
มุมมอง 4313 ปีที่แล้ว
Omawiamy wskaźniki do funkcji, przeciążanie funkcji, inline i constexpr w odniesieniu do funkcji i zmiennych, domyślne argumenty funkcji oraz wyrażenia lambda. Link do prezentacji: slides.com/janekb04/07-functions .
[Polish] The C++ Club - 6. Errors
มุมมอง 2873 ปีที่แล้ว
Omawiamy jak radzić sobie z błędami programu w C . W tym: kody błędów, wyjątki, asercje. A także niezdefiniowane zachowanie i zakańczanie pracy programu. Prezentacja jest dostępna tutaj: slides.com/janekb04/06-errors/ .
[Polish] The C++ Club - 5. Random Things
มุมมอง 3083 ปีที่แล้ว
Omawiamy kontrakty, asercje, typy integralne, operacje bitowe, rzutowanie, operator ternary ?:, operator przecinek, aliasy typów using, auto, structured binding, decltype(auto), typy wyliczeniowe enum i switch. Prezentacja jest dostępna tutaj: slides.com/janekb04/05-random-things .
[Polish] The C++ Club - 4. Low level performance
มุมมอง 4973 ปีที่แล้ว
Mówimy jak przyspieszać programy w C . Omawiamy cache (L1, L2, L3), branch prediction, adresy logiczne i fizyczne, translation lookaside buffer (TLB), budowę przykładowego procesora Intel Core Bloomfield, linie cache (cache line), cache associativity, cache friendliness, cache miss, locality of reference, spacial locality, temporal locality, które kontenery STL są cache-friendly, a które nie są...
[Polish] The C++ Club - 3. Lifetime and references
มุมมอง 4113 ปีที่แล้ว
Omawiamy referencje, czas życia obiektów, zasady name lookup (w tym ADL). Wprowadzamy referencje rvalue && (r-wartości). Prezentacja jest dostępna tutaj: slides.com/janekb04/03-lifetime-and-references
[Polish] The C++ Club - 2. Memory and Pointers
มุมมอง 1K3 ปีที่แล้ว
Omawiamy wskaźniki, stos, stertę, sizeof, alignof, reprezentację obiektów w pamięci, pola bitowe i definicję obiektu w C . Prezentacja jest dostępna tutaj: slides.com/janekb04/02-memory-and-pointers
[Polish] The C++ Club - 1. The Build Pipeline
มุมมอง 1.5K3 ปีที่แล้ว
[Polish] The C Club - 1. The Build Pipeline

ความคิดเห็น

  • @kamiloweluckypanczoweblend1957
    @kamiloweluckypanczoweblend1957 5 หลายเดือนก่อน

    fajne

  • @lunak8923
    @lunak8923 6 หลายเดือนก่อน

    kocham Twój kanał

  • @Desmodromiczny
    @Desmodromiczny 9 หลายเดือนก่อน

    Niewiele tutaj aktywności (co jest dziwne) ale chciałbym podziękować za twoją pracę. Namiętnie oglądam całą serię :) Poziom stricte akademicki, a nawet bym powiedział, że u mnie na uczelni jest dużo dużo niższy.

    • @janbielak
      @janbielak 9 หลายเดือนก่อน

      Dzięki! Zawsze można polecić kolegom, jeśli chcą się nauczyć ponad program…

  • @matthieuhamel1903
    @matthieuhamel1903 9 หลายเดือนก่อน

    Jan, I come from your CppCon video, your C++ presentations look so clear and beautiful, now I want to learn polish to understand the explanations :D

  • @ukasz7073
    @ukasz7073 9 หลายเดือนก่อน

    Cześć. Bardzo fajne materiały tworzysz. Widziałem ostatni sprzed roku, czy aktualnie już sie tym nie zajmujesz?

    • @janbielak
      @janbielak 9 หลายเดือนก่อน

      Dzięki! W tej chwili niestety nie, ale cały czas chcę do tego wrócić. Jak mi się uda czasowo, to zacznę dalej nagrywać.

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

    Hi there, it would be nice if the videos were in English too :) Thanks for sharing!

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

    Slides are so clear and informative but I still wish I knew Polish 😢, thank you so much for this presentation ❤

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

      Thanks! In a few weeks, I'll be hosting the second part of my optimizations talk @CppCon 2023. I will cover a superset of what is presented here.

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

    Super przekazujesz wiedzę

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

      Dzięki!

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

      @@janbielak Czy masz w planach jeszcze kontynuować serie?

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

      Tak, mam w planach kontynuować. Już od dwóch lat, więc… staram się znaleźć na to czas.

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

    W bardzo fajny sposób przekazujesz informacje!

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

      Cześć, cieszę się, że wideo się spodobało. Jestem ciekaw, skąd wiesz o kanale (z wyszukiwarki, rekomendacji yt,…)?

  • @arl-t8d
    @arl-t8d 2 ปีที่แล้ว

    Będę czekał na jakiś film o Vulkanie :)

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

      Wkrótce na kanale umieszczę wideo z planem nagrywania. Nie wiem jeszcze kiedy, ale Vulkan na pewno tam będzie.

    • @arl-t8d
      @arl-t8d 2 ปีที่แล้ว

      @@janbielak dobrze wiedzieć, dziękuję za Twój wysiłek

  • @arl-t8d
    @arl-t8d 2 ปีที่แล้ว

    Dziękuję za ten materiał

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

      Dzięki, cieszę się, że się spodobał.

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

    Dobra robota

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

      Dzięki, miło mi to słyszeć.

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

    Dużo przydatnej wiedzy, przejrzyście wykonane prezentacje. Ogólnie baardzo wartościowa seria. Pozdrawiam.

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

      Dziękuję za feedback. Czy masz może jakieś uwagi lub sugestie, które mógłbym zastosować robiąc przyszłe materiały?

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

      @@janbielak Moja jedyna uwaga a właściwie prośba, sugestia jest taka żeby ktoś z ekspertów od CPP zrobił wreszcie po PL tutorial z prawdziwego zdarzenia na temat STL'a, czyli nowoczesnego CPP. Wydaje mi się że czegoś takiego brakuje na PL YT.

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

      Oryginalnie Kurs miał składać się z 5 części: 1. Wprowadzenie 2. OOP 3. Szablony 4. Wielowątkowość 5. Biblioteka Standardowa i Boost. Niestety w trakcie trwania kółka, udało się przejść tylko przez 2 pierwsze części, z których wszystkie nagrania są już na kanale. Nie wiem jeszcze czy, gdy będę już miał czas, będę kontynuował kurs w tej samej formie, czy ją zmienię, ale nadal planuję przerobić te pozostałe tematy. Do tego czasu, jako źródło informacji o nowoczesnym C++ mogę polecić potraktowanie cppreference.com jako spisu treści, a następnie szukanie informacji na konkretny temat na np. StackOverflow, CppCon lub w innych źródłach.

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

    super odcinek :D

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

      Cieszę się, że się spodobał. Czy było w nim coś szczególnie interesującego lub jakoś wyróżniającego się?

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

      @@janbielak duża ilość i dokładność w tłumaczeniu :D czekam na openGL!!

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

    świetnie że ktoś rozwija polską scene związaną z programowaniem i jest co oglądać i czego sie uczyć pozdrawiam

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

      Cieszę się, że się spodobało. Pozdrawiam wzajemnie.

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

    Kurcze świetna wiedza, ale dlaczego tak niska popularność to nie mam pojęcia. Zyskałbyś trochę na wyjaśnieniu czym jest Punning bo w polskich źródłach nie jest to nigdzie wyjaśnione. Ale merytorycznie dla mnie bomba !

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

      Witaj, cieszę się że materiał okazał się pomocny. Też mi szkoda, że jest on mało znany, ale grupa odbiorców chyba jest po prostu dosyć mała. Jeśli ci się podoba, to udostępnienie wideo znajomym albo w social media pozytywnie wpłynie na to jak wideo jest postrzegane przez algorytmy youtube. Co rozumiesz przez punning? Czy chodzi ci o type punning?

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

      Zgadza się type punning rzutowanie jednego typu na inny typ np typ wskaźnikowy.

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

      Co do type punning, to mnie też ten temat zaciekawił. Sporo informacji jest w moim pytaniu na StackOverflow: stackoverflow.com/questions/67636231/what-is-the-modern-correct-way-to-do-type-punning-in-c .

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

    Hi I like the content, but it is really laggy. Thank you for this tutorial I really learnt a lot

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

      Hi, I’m glad that you’re enjoying the tutorial. I also want to say that this isn’t the last meeting. There have been about 5 more meetings for which I already have recordings, but I am yet to edit them and upload to TH-cam. In addition to those there was a plan for about 60 more meetings to cover the most (let’s say 97%) of C++20. I can’t say when they will be made or if at all. I would like to ask you, what do you mean by the tutorial being “laggy”? I would also want to ask in which language did you watch it? You left the comment in English and I am curious whether you watched it in Polish or you somehow translated it to English. Thanks.

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

      it is loading at some part. i didnt translate it to english . I look forward to your videos :)

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

    Co to za kółko jest? Nawiasem mówiąc bardzo uczące filmiki i widać dużą wiedzę na temat samego języka i wkład włożony w zaprezentowanej tej wiedzy!

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

      Dzięki! To nagrania z kółka prowadzonego przeze mnie (janbielak.com) w XIV LO im. Staszica w Warszawie.

  • @1942Oki
    @1942Oki 3 ปีที่แล้ว

    W końcu zrozumiałem tak właściwie działanie wskaźników dzięki! Inne też oglądam jak skończę, to może coś więcej napisze, ale fajna seria pozdrawiam.

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

      Cieszę się, że pomogło. Jeśli wolno spytać, skąd usłyszałeś o kółku?

    • @1942Oki
      @1942Oki 3 ปีที่แล้ว

      @@janbielak szukałem jakiś bardziej zaawansowanych treści z C++ i tak trafiłem na ten kanał.