Back to Basics: Function and Class Templates - Dan Saks - CppCon 2019

Поделиться
HTML-код
  • Опубликовано: 4 фев 2025

Комментарии • 51

  • @MarcusAseth
    @MarcusAseth 5 лет назад +68

    He is an excellent teacher, each slide is explained concisely and clearly and he gives you time for the point to sink

  • @kamilziemian995
    @kamilziemian995 2 года назад +2

    Back to Basics is the best learning material for C++ that I found on the RUclips.

    • @CppCon
      @CppCon  2 года назад +1

      Thank you for letting us know that you find the Back to Basics track very educational.

  • @middleverse3838
    @middleverse3838 4 года назад +21

    We need a Dan Saks for everything.

  • @keithrobinson2016
    @keithrobinson2016 2 года назад +10

    Excellent presenter. Clearly has a deep understanding of the subject and conveys the knowledge really well. Shall look out for more of his presentations.

  • @芝士蛋挞-c5z
    @芝士蛋挞-c5z 3 года назад +9

    47:31 It is a simple fact about why we need "typename". His way of explanation is very enlightening. I wish I could see it earlier.

  • @parth87x
    @parth87x 2 года назад +6

    This presentation from Dan Saks, is the best intro to Templates. Thanks a lot.

    • @CppCon
      @CppCon  2 года назад +1

      Glad you like it!

  • @yasamanderiszadeh902
    @yasamanderiszadeh902 2 года назад +2

    Fantastic talk! Was able to not only teach one topic very clearly, but also touch on other topics of C++ programming without confusing and distracting the audience.

    • @CppCon
      @CppCon  2 года назад

      Thank you so much for your comment!

  • @powkung45
    @powkung45 Год назад

    Watching c++ videos makes me appreciate how well TCL in particular uses brackets so nicely, there's no confusion about which relates to what, without overlapping meaning...

  • @hpandeymail
    @hpandeymail 3 года назад +16

    Just few minutes and I am so much confident that he is a proficient teacher .. thanks for sharing your wisdom 🙏

    • @CppCon
      @CppCon  3 года назад +2

      Glad to hear that

  • @nicolasjochem1814
    @nicolasjochem1814 4 года назад +8

    i love it, one is really rewarded for concentrated listening here because he grasps it so well in "each sentence"

  • @yashtrikannad518
    @yashtrikannad518 4 года назад +9

    One of the best talks I've heard on templates! Very concisely explained

  • @kulakulagundi
    @kulakulagundi 4 года назад +4

    Excellent, I am his fan since 2001 when I started reading his articles in ESP magazine.

  • @gregwoolley
    @gregwoolley 4 года назад +9

    Nice talk, well explained, thank you. Thank you also CppCon for providing these great videos, much appreciated!

  • @jvsnyc
    @jvsnyc 3 года назад +6

    This is really good. There are a lot of talks and blogs, etc. etc. about templates which would be great if you have already watched this one and learned everything in it, but are terrible icy lakes to jump into from scratch.

  • @LogenVonSchlenz
    @LogenVonSchlenz Месяц назад

    Great presentation, and in general the whole series are very helpful

  • @ian3084
    @ian3084 4 года назад +2

    These lectures are invaluable. Nice presentation.

  • @chrisshyi8999
    @chrisshyi8999 5 лет назад +12

    Excellent presentation on templates, I learned a lot!

  • @MikeMitterer
    @MikeMitterer 3 года назад +4

    Boy, what a great presentation!

    • @CppCon
      @CppCon  3 года назад +1

      Glad you liked it!

  • @nukemate
    @nukemate 3 года назад +2

    It's really good explanation. Covered all basic aspects! Thanks!

    • @CppCon
      @CppCon  3 года назад

      Glad it was helpful!

  • @perfumedsea
    @perfumedsea 4 года назад +3

    Very good presentation on template basics. I liked how typename is introduced part and the specialization materials. I found most tutorials will skip these basics.

  • @oxioxp
    @oxioxp 11 месяцев назад

    Excellent teacher and clear explanation thanks!

  • @anthonyrocha8075
    @anthonyrocha8075 4 года назад +1

    Very clear explanation of a tricky feature.

  • @佐邱鸣
    @佐邱鸣 5 лет назад +2

    Very good tutorial, I can see his passion for it. Thanks, bro!

  • @sizur
    @sizur 4 года назад +2

    This presenter is superb!

  • @vincezzz9757
    @vincezzz9757 3 года назад +2

    clear and concise. thank you!

    • @CppCon
      @CppCon  3 года назад

      You're welcome!

  • @ZackDia-Ptr
    @ZackDia-Ptr Год назад

    After two presentations for this Prof, i am starting to see oop more clearly... thanks!

  • @PerisMartin
    @PerisMartin 5 лет назад +1

    If I ever meet Mr Saks on the street I'll give him a hug

  • @carlschumann
    @carlschumann 2 года назад

    1:01:15 terminology specialization and instantiation

  • @Poti221
    @Poti221 3 года назад +4

    Amazing!

  • @vhlk
    @vhlk 2 года назад

    Awesome video!!!!

    • @CppCon
      @CppCon  2 года назад +1

      Glad you enjoyed it

  • @pawanadhikari110
    @pawanadhikari110 5 лет назад +1

    Clear and concise

  • @johnshaw6702
    @johnshaw6702 3 года назад +1

    It could use improvement, but not bad. I did learn a couple things about modern C++, that I did not know about.
    The piece towards the end about comparing those character array pointers was not correct though. The stack starts at a high address and each subsequent item pushed on it has a lower address. So the address of array starting with 'N' is actually higher. As a concept explanation it my not seem important, but in the real world it can be very important.

    • @jamesburgess9101
      @jamesburgess9101 3 года назад +2

      Fun fact: standard C++ (and C) deliberately say absolutely nothing about the direction of the stack. It can be either and some architectures, like ARM, it is selectable. If you think knowing the direction of the stack is important (which it is) you will also definitely want to know this: the compiler in standard C++ (and C) is at liberty to rearrange your variables on the stack! The order you write them in your source code is not the order it has to allocate them.
      We should forget the stack though, that example did not specifiy if the pointers where even on the stack and that certainly was not the point of the example.

  • @shrivatsankchari1729
    @shrivatsankchari1729 3 года назад

    58:19 wouldn't that throw an error? Early on in the presentation he said return types are not deduced and need to be specialized at declaration.

  • @lck5217
    @lck5217 5 лет назад +1

    56:58
    Functions have external linkage by default, I think we can do the same with explicit specialization declaration like this:
    main.cpp
    // ****************
    #include "f.hpp"
    template void f();
    int main()
    {
    f();
    return 0;
    }
    // ****************
    f.cpp
    // ****************
    #include "f.hpp"
    template void f()
    {
    cout

  • @wenhailong6192
    @wenhailong6192 Год назад

    where the slide

  • @IdanBanani
    @IdanBanani 3 года назад

    great!

  • @rafalmichalski4893
    @rafalmichalski4893 5 лет назад +1

    Would it compile from slide 85 ? npos is typically size_t constant with max or -1 (e.g. for std::string) so we are trying to init pointer to size_t (typename T::size_type *) with size_t constant(T::npos) here I guess. But I might be wrong of course.

  • @antonfernando8409
    @antonfernando8409 3 года назад

    Nice and simple, now I understand template, just that him checking his time so often is kind of odd lol.