Back to Basics: Lambdas - Nicolai Josuttis - CppCon 2021

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ธ.ค. 2024

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

  • @chudchadanstud
    @chudchadanstud 11 หลายเดือนก่อน +3

    Man I love this guy's talks/tutorials. Very simple very clear.

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

    Nice, so many tiny details I didn't know or was confused about.

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

    13:13 "Case-insensitive sorting is always a little bit tricky in C++" Just to hammer his point home, passing a raw char directly to std::toupper as he does in the slideware is actually wrong... you have to cast it to unsigned char before passing to std::toupper or you can run into undefined behavior on implementations where char is signed. But, you know, slide code and all...

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

    clear , clean and powerful. very good tutorial, easy to understand in a few minutes. looking forward to see next.

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

    Thank you for the talk, I read many things about lambdas in C++, but all the papers I had read don't explain the internals (class object with () operator) and without that it just looks like magic and you don't get all the implications of lambdas. So big thanks you for the talk.

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

      i agree. I am trying to work through the code of these examples but it's more difficult since so much code was left out.

  • @neilharvey94
    @neilharvey94 10 หลายเดือนก่อน +1

    I recall using the STL long before C++11, back in the late 90s.

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

    Explained well. Thanks for the quality content.

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

    What a great talk!

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

    Easy to understanding . Looking for next to meet.

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

    Where can I get the slides of the talk?

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

    Great talk!!! if i can get pdf file somewhere?

  • @rahultandon9749
    @rahultandon9749 10 หลายเดือนก่อน

    I have yet to remove the confusion between lambdas vs. generics vs. templates

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

    I think the statement" My life would be better if my co-workers knew more C++" is true for everyone...

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

    Working through this in an IDE and the ranges lexicographical sort on slide 11 was vexing me for a while, but got it working. Slide code error... he's missed a semi-colon out after the return statement. If you amend the example to get it as the following, it will work:
    std::ranges::sort(
    v2, // Range to sort
    [](const std::string& s1, const std::string& s2) { // Sort criterion
    auto toUpper = [](char c) { return std::toupper(c); };
    return std::ranges::lexicographical_compare(
    s1, // String as 1st range
    s2, // String as 2nd range
    std::less{}, // Compare criterion
    toUpper, // Projection for s1 element
    toUpper); // Projection for s2 element
    }); // End of sort statement

  • @bareminimum-mrtz
    @bareminimum-mrtz 4 หลายเดือนก่อน

    Thankyou so much !!!

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

    Very good as usual Nicolai. Slide 10: The "toupper" lambda should take "unsigned chars" to avoid UB in ? Same on slide 11...

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

    I appreciate how he owns the fact that C++ is partially his fault. Self awareness majority of the commitee lacks.

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

    Thanks for the session. Neatly explained..

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

    I couldn't understand the problem with having a function, why Lambdas? rewriting again and again may cause errors to creep in. testability.. it invalidates all basis of having a modular design.

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

      Is it ok to perceive lambdas calculus as symbolic math

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

    In slide 11 we have two strings while lambda argument is char!

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

    thanks sir, great presentation

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

      You are most welcome

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

    Lambdas are cool-n-all, but very difficult to unit test. Apart from tiny lambdas to std algorithms within testable functions, I still prefer explicit function objects and function templates because of this.

  • @EgorChebotarev
    @EgorChebotarev 10 หลายเดือนก่อน

    interesting and useful

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

    “It’s partially all my fault”

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

    Awesome.
    Catching up with JavaScript! 😂

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

      They are really like javascript features in C++, which looks kinda scaring to me

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

      C++ introduced lambdas in 2011, Javacript in 2015 - if anything JavaScript is catching up to C++

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

      I know I'm very late but even implying that lambda's originated with JavaScript hurts.