Templates, the STL, and Other Skills
The course is part of this learning path
In this course, we will build on your existing foundational and object-oriented oriented skills and enhance them by looking at templates, the Standard Template Library, and other skills to help you in your builds.
- Learn about function templates and class templates
- Learn how to write efficient and excellent code with the data structures and algorithms in the standard template library
- Learn about smart pointers to manage dynamic memory automatically
- Understand friend functions, friend classes, and operator overloading
- Beginner coders, new to C++
- Developers looking to upskill by adding C++ to their CV
- College students and anyone studying C++
To get the most out of this course, you should have a basic understanding of the fundamentals of C++.
In this section, we've explored a variety of topics that have hopefully given you a better, well rounded and more thorough look at some C++ features. This section rounded out our course by introducing template functions and classes, to help us further encourage software reuse. We also learned about the variety of data structures and algorithms available in the C++ standard template library or STL. We discussed the power of smart pointers which managed the memory for us so we don't have to de-allocate the memory when we're done with it explicitly. Further, we explored the topic of friend functions and friend classes. And finally we discussed operator overloading a feature that many languages do not possess but that is available in C++ and can be incredibly useful. We ended this section with a couple of really cool projects. We built an interactive dictionary application using the STL map data type behind the scenes. We then built a really cool application involving aliens and operator overloading. I don't know about you, but I think this section and this course has been a blast. I will work to continually improve this course and its material and make it the best C++ course available anywhere. I'll see you around.
John has a Ph.D. in Computer Science and is a professional software engineer and consultant, as well as a computer science university professor and department chair.