Learn C++ 11 in 20 Minutes - Part II

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

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

  • @rbaccount4878
    @rbaccount4878 8 ปีที่แล้ว +54

    I have become a fan of your tutorials. Awesome work for educating people like me. It will be great to see more of your videos in C++14 and in C++17.

  • @bhaveshkotaking
    @bhaveshkotaking 10 ปีที่แล้ว +17

    Best of introductory material on c++11 that I have seen on internet.... Thank you Bo.

  • @blackcitadel37
    @blackcitadel37 8 ปีที่แล้ว +9

    A great alternative to all that exhaustively long book of Stroustrup. Thanks for sharing these videos

  • @ruchisingh3125
    @ruchisingh3125 4 หลายเดือนก่อน

    This guy is a gem in teaching. His way of teaching the concepts. Would love to see more videos of yours on C++14, C++17 and C++20. Bo Qian, please upload more videos.

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

    The most simplified explanation on Lambdas in C++!!
    Thanks a lot, Sir!!

  • @sk3dsu
    @sk3dsu 11 ปีที่แล้ว +3

    I honestly love your videos, I have been away from C++ for quite some time and just recently going back to it. 20 minutes did helps me a lot on catching up with C++11.
    Thank you so much ^_^
    Will go through all your related videos too :)

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

    Very simple yet comprehensive and concise presentation of the c++11 features. Thank you!

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

    What you are doing is not something easy to do. appreciate your hard work. This is one of the best

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

    You are just superb BO.. Just "thank you" "thank you" "thank you"

  • @ashutoshrautela3454
    @ashutoshrautela3454 7 ปีที่แล้ว

    This guy rocks... short and to the point tutorials with perfect examples and explanation

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

    Coming back from C# to C++ I found out most of these quite intuitive. I figured out most of them on my own (and some googlefoo), but this video basically confirmed what I already learned, so.. Thanks for that :D

  • @屈冉
    @屈冉 9 ปีที่แล้ว +8

    Thank you very much.you speak so slowly and clearly that I can follow you,It's greate

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

    You deserve so many more subscribers. Hats off to you sir!

  • @toarugamecoder
    @toarugamecoder 8 ปีที่แล้ว +4

    Thanks so much! Your explain is very easy to understand. Awesome video!

  • @manjunathmayya
    @manjunathmayya 5 ปีที่แล้ว

    You explained the features to the point . No clutter. And thanks a lot for also sharing the code in your website. Your video and code will help me for a long time :) Thanks again bro.

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

    I learned C++ 16 years ago and a lot has changed that I needed to learn.

  • @anandkulkarni2111
    @anandkulkarni2111 7 ปีที่แล้ว

    I love your c++ tutorials absolutely.

  • @toycookies82
    @toycookies82 4 ปีที่แล้ว

    I love this guy. He must be a great teacher or professor!

  • @acehkr
    @acehkr 11 ปีที่แล้ว

    It really helps me to learn c++11 in a short time. Impressive !

  • @PythBuster
    @PythBuster 9 ปีที่แล้ว

    You are a genius Bo Qiang, thanks! Nice job!

  • @amitgupta29
    @amitgupta29 4 ปีที่แล้ว

    This is sheer good work. Kudos to you for such simplified explanations and quick overview.

  • @sudhanshugupta8665
    @sudhanshugupta8665 8 ปีที่แล้ว

    Awesome work . You have explained concepts such a way that it will take some effort to forget them. Thanks .

  • @treveonmaxwell1272
    @treveonmaxwell1272 10 ปีที่แล้ว

    Amazing. Excellent video. Very concise descriptions. Thanks alot!

  • @kuanyongshechia
    @kuanyongshechia 8 ปีที่แล้ว

    Wonderful learning C++ 11 video !
    Thanks !!

  • @teoriaDelSoftware
    @teoriaDelSoftware 6 ปีที่แล้ว

    Thank you so much Bo, cheers from Mexico.

  • @saloniaggarwal7259
    @saloniaggarwal7259 4 ปีที่แล้ว

    Nice tutorials..learned a lot many things. Can you please also share the questions or any links for practice

  • @biswaranjan3550
    @biswaranjan3550 7 ปีที่แล้ว

    Nice video for getting into c++ 11 for beginner like me.I have one doubt whether we can create an instance of a class having final virtual method in c++11

  • @dumdumwill
    @dumdumwill 10 ปีที่แล้ว

    Awesome stuff Bo. Keep up the good work.

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

    its Amazing ! This video is very much precise and to the point . Thanks for your knowledge sharing. Though I have been still practicing C++11 feature, Eagerly waiting for videos on C++14 & C++17 feature .... Thank You again :)

  • @clearz3600
    @clearz3600 10 ปีที่แล้ว

    Thanks Bo. As someone coming from a C# background I find a lot of this familiar. I wonder did Microsoft have much input in the Cpp11 spec.

  • @Alvin-eq5rc
    @Alvin-eq5rc 6 ปีที่แล้ว

    Thank you for sharing your c++ knowledge. I really enjoy all the tutorial

  • @pyeleon5036
    @pyeleon5036 4 ปีที่แล้ว

    I have learned a lot , thank you Bo

  • @mkelleyharris
    @mkelleyharris 10 ปีที่แล้ว

    Thank you very much for sharing both of your videos. Much appreciated.

  • @dillip4572
    @dillip4572 6 ปีที่แล้ว

    Thanks BO. I need one clarification for item#13. For consexpr, the expression evaluates at compile time to avoid runtime cycles. My query is "the compilation time will be more if there is of certain code which constexpr", right?

  • @ax-electron
    @ax-electron 11 ปีที่แล้ว

    Thank you alot Bo Qian for this C++ 11 tutorial.

  • @thousandwater
    @thousandwater 5 ปีที่แล้ว

    Very clearly explained. But is this all? I thought there should be more like pointer types or so

  • @senthilandavanp
    @senthilandavanp 5 ปีที่แล้ว

    Declaring the Initializer list, initializing the initializer list class using unique initializer list, auto variable for, strong enum, override, final,

  • @i_am_ashutosh
    @i_am_ashutosh 8 ปีที่แล้ว

    Really Awesome Tutorial! Very Informative. Thanks a lot .

  • @videofountain
    @videofountain 5 ปีที่แล้ว

    In the filter function you appear to be passing a copy of a vector. A reference is possible. Is this intentional?

  • @arunkumar-ic5rj
    @arunkumar-ic5rj 9 ปีที่แล้ว

    Thanks Bo Qiang , Gr8 efforts.

  • @softwareskills.jinqiang
    @softwareskills.jinqiang 9 ปีที่แล้ว

    straight to the points, very good!

  • @darthboxOriginal
    @darthboxOriginal 4 ปีที่แล้ว

    These videos are great, thank you!

  • @bluehornet6752
    @bluehornet6752 7 ปีที่แล้ว

    Did you need to capture the variable(s) by reference there in the last Lambda function example, Bo? Wouldn't it have been OK just to capture the local variables by value and say this:
    int y = 4;
    filter( [=](int x) { return (x > y); }, v );
    Did you need to capture by reference for the vector maybe? You're not changing 'y' at all, so that certainly could have been captured by value.

  • @BoQianTheProgrammer
    @BoQianTheProgrammer  11 ปีที่แล้ว

    No, it is not true. That's called multiple inheritance. It is generally not recommended for beginners because it involves some pitfalls, but there are times it is found to be useful. For details see my another video of "multiple inheritance" in "Advanced C++" playlist.

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

    loving your videos Bo, thank you very much. Which compiler have you test the c++ 11

    • @kdvinod615
      @kdvinod615 9 ปีที่แล้ว

      +Roberto Prince : g++ in gcc >= 4.8 will work. Need to add the flag -std=c++11 while compiling.

    • @robertoprince6804
      @robertoprince6804 9 ปีที่แล้ว

      thanks I already knew that, but I was wondering at the time if I could use VS2013, but know Im using VS2015 Community and works wonderfully

  • @loneforce
    @loneforce 7 ปีที่แล้ว

    Nice and clear tutorials... I am lazy, you could add a link of your website in the description :-)

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

    loved it.just a request, i want to learn all c++11 , in one video...

  • @arunkumar-ic5rj
    @arunkumar-ic5rj 4 ปีที่แล้ว

    Thank you for great explanations.

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

    Great Videos as always:) Thanks for your effort! A minor typo at 6:53, return x+y missed one ";"

  • @meanmole3212
    @meanmole3212 10 ปีที่แล้ว

    That was great! I have been learning a lot from your videos. The fact that you even offer your personal notes guarantees a quick way to recap if I happen to forget some of the topics. You are awesome, thanks!

  • @rishabhagarwal9871
    @rishabhagarwal9871 5 ปีที่แล้ว

    what is a use of virtual final function in c++ ?

  • @mentalthink1
    @mentalthink1 7 ปีที่แล้ว

    HI thanks a lot, I understand a lot of things I tried to read in some books, now I have a lot of things more clear, really good tutorials, thanks a lot. Just subscribe now...

  • @DFsdf3443d
    @DFsdf3443d 6 ปีที่แล้ว

    4:40 whats the difference between contexpr and const? couldn't you achieve the same thing with const?

  • @anandkulkarni2111
    @anandkulkarni2111 7 ปีที่แล้ว

    10/10 Explanation!!

  • @intrepiddt
    @intrepiddt 10 ปีที่แล้ว

    Thank you for the excellent videos!

  • @shengxuanzong3596
    @shengxuanzong3596 7 ปีที่แล้ว

    I think the constexpr is as same as the marco in c ,right ?

  • @hadidayvary2448
    @hadidayvary2448 5 ปีที่แล้ว

    Very good, Thanks

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

    very good tutorials. just need some pointer on practicing the materials that your tutorials have.

  • @Pericotedelospalotes
    @Pericotedelospalotes 11 ปีที่แล้ว

    Mr Bo Qian can you tell me if this statement is true ?
    ....A class must not br derived from more than one base class.
    Thank you !.
    Daniel.

  • @hondwelt
    @hondwelt 6 ปีที่แล้ว

    Extremly well made, thank you!

  • @hirdayamnarula5505
    @hirdayamnarula5505 7 ปีที่แล้ว

    Hey, one clarification is needed. Is filter a lambda function?

  • @vlad_serg
    @vlad_serg 9 ปีที่แล้ว +3

    About 12. delete:
    Why not use "explicit" keyword, or why not make private: constructor(double) and operator=()?
    Don't see the difference.

    • @tryingtocorrect
      @tryingtocorrect 9 ปีที่แล้ว +3

      Владислав Бондур If you make them private then these 2 functions exist and can be called for example from within the class member functions (and thus a possible source of errors/bugs). If you delete them then they cannot be called from anywhere because they do not exist. How would you use explicit to prevent using doubles? if you put like: explicit dog(int age) {} , that would not work as dog b(3.0); would still compile and convert double to int.

    • @johanmabille8601
      @johanmabille8601 9 ปีที่แล้ว

      +TryingTo Correct
      You can just declare them in the private section without implementing them, they won't be callable from within the class member functions; you'll get an error link instead of a compilation one

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

      +johan mabille ok , yes. But what is the benefit for doing like that over using delete? I think delete is more clear because it tells the intent of the situation: the creator of the class does not want that function to be used. If you declare a function without an implementation, the intent is not clear (unless you comment the code, but commenting is not a good way to solve problems anyway...): the person using the class might think that the implementation of the function has been forgotten to write and they might end up writing an empty implementation to "fix it". So, I would prefer delete over declaration... unless you give a good reason why declaration is better.

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

      +TryingTo Correct I was just giving a way to do exactly the same thing in C++ 03. Now I totally agree with you, delete is definitely more clear and the situation you describe (a team mate wrongly "fixing" the class) is a situation I've encountered many times; concepts expressed through the language are far better than comments.

  • @femloh
    @femloh 6 ปีที่แล้ว

    Thank You very much for this.

  • @arunkumar-ic5rj
    @arunkumar-ic5rj 9 ปีที่แล้ว

    Good info ...

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

    Thank you sir !!

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

    Thank you very much

  • @dawoodfarooq3605
    @dawoodfarooq3605 8 ปีที่แล้ว

    You are the best

  • @Vipul.Mendapara.Learns
    @Vipul.Mendapara.Learns 6 ปีที่แล้ว +1

    Hey Bo,
    Thanks for the amazing explanation. I don't see your notes are accessible at boqian.weebly.com, is there any other site or way to get your notes.
    Thanks
    Vipul

  • @ldxyz-s1e
    @ldxyz-s1e 7 ปีที่แล้ว

    4:00 constexpr
    8:32

  • @arjun5j
    @arjun5j 8 ปีที่แล้ว

    Thank you very much!!

  • @xingw9358
    @xingw9358 8 ปีที่แล้ว

    Very clear

  • @malharjajoo7393
    @malharjajoo7393 5 ปีที่แล้ว

    what's the use of default keyword ? All you are doing is writing "=default" instead of "{}"

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

    Hello Bo, tnx for all your videos, but I think using lambda functions is not "functional programming", you're just using anonymous functions as callbacks.
    Cheers mate

    • @MsJavaWolf
      @MsJavaWolf 5 ปีที่แล้ว

      It's not always functional programming, but the example that he showed is a functional style.

  • @malharjajoo7393
    @malharjajoo7393 7 ปีที่แล้ว

    About the constexpr keyword , How come this worked without using it ?
    // Example program
    #include
    #include
    int A(int x){return x*x;}
    int main()
    {
    int B[A(2)+3];
    B[0] = 8;
    std::cout

  • @maximv88
    @maximv88 10 ปีที่แล้ว

    Love it!

  • @revanasiddheshwarhiremath9274
    @revanasiddheshwarhiremath9274 5 ปีที่แล้ว

    Where's smart pointera

  • @marekchoinski2939
    @marekchoinski2939 7 ปีที่แล้ว

    Good tutorial

  • @bonbonpony
    @bonbonpony 4 ปีที่แล้ว

    00:57 This is still bad, though, because you still have to remember to put that `override` there, and if you don't, you will still fall to that trap :q
    01:45 What's the point of making a virtual function that cannot be overriden? The entire point of having virtual function is that we can override them in derived classes.
    02:20 Won't simply writing `dog() {}` produce the same effect with less typing and less arcane voo doo magic? :q
    04:42 Too bad that there's already a whole lot of legacy code that doesn't use `constexpr`, so you can't use those functions in constant expressions anyway :/
    05:28 It also won't fit into a 32-bit `int` :J
    05:50 What if I want a raw UTF-8 string? :D GCC doesn't seem to accept `Ru8` nor `u8R` :P
    07:05 So what is the type of `f` that is substituted for `auto`? ;> (in case I wanted to define a function that takes this lambda as a parameter).
    Also it would be nice to talk some more about the meaning and purpose of that `[]` in front of it ;) as well as `[&]` and `[=]` and stuff ;)
    09:09 Well, not _that_ difficult, considering that C++ lambdas are just syntactic sugar for function objects automatically generated by the compiler. Cleaner - maybe.
    09:12 Well, not really: what about rvalue references and move semantics? Trailing return types and `decltype` mess? Variadic templates? Tuples? Smart pointers? Threading? There's still a lot to cover, and I only mentioned the major things.

  • @dillip4572
    @dillip4572 7 ปีที่แล้ว

    you really rock :)

  • @slezyr
    @slezyr 9 ปีที่แล้ว

    Right way to define raw string is R"(string \\)" you will receive an error without parentheses

    • @xingw9358
      @xingw9358 8 ปีที่แล้ว

      +John Baker I'll give it a try

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

    "congratulations, you've learned C++11 in 20 minutes", Me after 2 hours of analizing XD

  • @queueoverflow
    @queueoverflow 7 ปีที่แล้ว

    C# has most of them before long long ago.

  • @queueoverflow
    @queueoverflow 7 ปีที่แล้ว

    objection. it is much better to use u8, u16, u32. instead of using different cases. I hate it.

  • @64tami
    @64tami 3 ปีที่แล้ว

    Are you eating something during speaking?

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

    ..

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

    .

  • @GeorgeLittleduck
    @GeorgeLittleduck 7 ปีที่แล้ว

    I've give you dislike becouse I don't like end of this video. You can substitute lambda in filter function by pointer to function or by anonymous class.