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

Поділитися
Вставка
  • Опубліковано 3 січ 2025

КОМЕНТАРІ •

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

    • @CppCon
      @CppCon  2 роки тому +1

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

  • @middleverse3838
    @middleverse3838 4 роки тому +20

    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.

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

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

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

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

  • @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 11 днів тому

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

  • @MikeMitterer
    @MikeMitterer 3 роки тому +4

    Boy, what a great presentation!

    • @CppCon
      @CppCon  3 роки тому +1

      Glad you liked it!

  • @chrisshyi8999
    @chrisshyi8999 5 років тому +12

    Excellent presentation on templates, I learned a lot!

  • @ian3084
    @ian3084 4 роки тому +2

    These lectures are invaluable. Nice presentation.

  • @oxioxp
    @oxioxp 10 місяців тому

    Excellent teacher and clear explanation thanks!

  • @sizur
    @sizur 4 роки тому +2

    This presenter is superb!

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

  • @vincezzz9757
    @vincezzz9757 3 роки тому +2

    clear and concise. thank you!

    • @CppCon
      @CppCon  3 роки тому

      You're welcome!

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

  • @anthonyrocha8075
    @anthonyrocha8075 4 роки тому +1

    Very clear explanation of a tricky feature.

  • @Poti221
    @Poti221 3 роки тому +4

    Amazing!

  • @PerisMartin
    @PerisMartin 4 роки тому +1

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

  • @佐邱鸣
    @佐邱鸣 4 роки тому +2

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

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

  • @carlschumann
    @carlschumann 2 роки тому

    1:01:15 terminology specialization and instantiation

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

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