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

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

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

  • @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

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

    We need a Dan Saks for everything.

  • @芝士蛋挞-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.

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

    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.

  • @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.

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

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

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

      Glad you like it!

  • @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 года назад +15

    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

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

    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!

  • @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

  • @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.

  • @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!

  • @chrisshyi8999
    @chrisshyi8999 4 года назад +12

    Excellent presentation on templates, I learned a lot!

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

    These lectures are invaluable. Nice presentation.

  • @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.

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

    Boy, what a great presentation!

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

      Glad you liked it!

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

    Excellent teacher and clear explanation thanks!

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

    Very clear explanation of a tricky feature.

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

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

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

      Glad it was helpful!

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

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

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

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

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

    clear and concise. thank you!

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

      You're welcome!

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

    This presenter is superb!

  • @佐邱鸣
    @佐邱鸣 4 года назад +2

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

  • @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.

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

    Amazing!

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

    Clear and concise

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

    Awesome video!!!!

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

      Glad you enjoyed it

  • @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

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

    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.

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

    1:01:15 terminology specialization and instantiation

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

    great!

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

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

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

    where the slide

  • @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.