Thanks! However, there was an error. Base is the superclass of derived. That error was at about 7:10. So should have said “is a subclass of base”
Nice introduction to this topic. One suggestion: simple but realistic/practical examples are most helpful to newcomers. The fclose() custom deleter was a good one. With weak_ptr I would recommend showing something like a Document containing a Page containing a Paragraph. Start with parents owning their children as a shared_ptr. Then add back-pointers. Initially used shared_ptr for these too, but then demonstrate how cutting a Page from one Document and pasting it to another would create a memory leak. Then show how weak_ptr would fix this.
Very cool video. I hope you keep doing these. Last time I used C++ was back in college before all these were added to the language, so it's nice seeing how things have changed.
I used to code in C/C++ when I was working - but after I retired, I guess I looked for something different... I started with a MITS computer and the Extended Basic on cassette tape. So I went looking for a good modern Basic.... and I found Visual Basic 2008 and nowadays 2017.... it is at once Basic, but with a heavy dash of Class structure and a vastly improved function library. In my retirement (some 20 years now) I have completed several major projects (largely for myself) with Visual Basic, and I love it!!! I even did a minor project to create a clock with multiple threads using the Basic interrupt routine. Very neat.... I wanted a digital clock with giant numbers so I could see them (I am sight challenged due to diabetes)... and after awhile, I hung several things off that program, like some code to play mp3s in the background while I coded. But I guess there's no chance of you covering VB, and most of the sample code I find online to help VB users is in C#, so I am having to learn that in self-defense. So C# coverage would be a great help for us VB users.
Learning to program videos are truly the best. I love watching the Cherno's channel and if you started doing these I would love to watch yours too.
Thanks for the super explanation. I hope this playlist gets more videos. It is very exciting to learn from someone who has been involved with the technology for so many years.
Incidentally I was just in the middle of rewriting one of my old programs to use these instead of raw pointers. The unfortunate thing is that I knew the name unique_ptr when I was originally creating it but never looked into what it did because I assumed it was overcomplicated for what I needed to do. In reality, using it would've been simpler and saved me time...
Thank you ! I have very little experience in C++, but I am learning Rust currently, after many years of Java, just out of curiosity, and to satisfy a desire to get closer to the hardware. This video helps me to understand many of the reasons behind Rust's choices. Rust looks like C++ with guard-rails, but the guard-rails are here if you know them, and use them correctly, which makes it look less "scary" than it really is. Makes me want to study C++ again :)
Excellent. I haven't looked at C/C++ for a lot of years. The new "smart" functions are brilliant.
Dave I would love it if you did a video on lambdas and the std::algorithm library! Thanks for the videos, these are great, I am sending these to tons of people.
Another great instructional video! I look forward to you making more of these C++ videos. One on proper techniques for handling multi-threaded programming would be great.
Thank you so much for making these. I was stuck with C++ 98.
Thank you for an excellent description. I am less confused now about the copying of shared pointers.
Love your content Dave. I've been writing c++ code since the late 90s, but im always learning new stuff from you
Thank you so much for the effort , I've learned something today. These in-depth tech themes are very vital and crucial to future programmers and I'm waiting for more and more to come .Thank you again , always looking forward !
Pretty sure it would go: I am a Base. I am a Derived. I am a Derived. Great stuff, like the more advanced topics. And I don't even do C++ :)
I've not used C++ seriously in absolute ages. I never knew they've added so many cool stuff in that language. I rarely write code nowadays, but when I do its usually C or C#. I've been on the receiving end of pointe problems for a long time, so seeing them being mitigated somewhat in an old language looks great. Still new code in the company I work for that used to require C will probably be done in Rust or Zig. We are still evaluating them for embedded applications.
Gotta say this single video used more shared_ptrs than in all my codebases combined. I generally prefer a unique_ptr at all times and tend to redesign before I use a shared_ptr.
Your channel is truly a goldmine of knowledge. Thank you for the time and effort you put into these videos.
@billyofthefuture