In this course you will learn how to use the power of modern C++ to write reliable C++ code. C++ is otherwise known to be a difficult language, partly because of all the troubles in keeping track of allocated memory resources.
By taking this course you will learn how to write better C++ code. Code which is not just easier to read, but also faster to write, faster to debug and faster to run! You will learn the structures and principles used in modern C++ to avoid the headaches of manual memory management completely.
Please enjoy this course. I hope you truly enjoy it!
P.S. If you are not completely happy with the contents, you are entitled to a no-questions-asked 30 day 100% money-back guarantee.
What are the requirements?
What am I going to get from this course?
Background into how C++ defines its memory. We'll show what the stack and the free store are, how we allocate objects on the stack and the free store and what the difference is for us as developers.
Understanding what it means to manage the memory while programming in C++. Also listing the most common types of memory errors.
Taking the theoretical discussion of what a memory leak is into real world examples in real C++ code.
Taking the theoretical discussion of what an invalid pointer is into real world examples in real C++ code.
Introducing the concept of RAII - resource acquisition is initalization. This is not just an awkward acronym, but is an extremely useful concept in C++ and is the basis of modern C++ resource management.
Overview of the smart pointers which exists in standard C++.
Introduction to std::unique_ptr, how to create it and how to use it.
Demonstration of how to create, use, pass and reset the std::unique_ptr.
Introduction to std::shared_ptr, how to create it and how to use it. Also why the shared pointer can cause leaks which is exactly what we wanted to avoid!
Demonstration of how to create, use and reset the std::shared_ptr.
Introduction to the std::weak_ptr, how it solves the problem with shared_ptr and how to create it.
Demonstration of how to create and use the std::weak_ptr
Introduction to std::vector which removes the need to allocate arrays using new. This shows how the vector works and why this is better than the old arrays.
Self check to make sure you understood how to use the std::vector
When and why the destructor of your class should be virtual
Hi, I'm Mattias Johansson and I have been working on developing software in C++ for more than 15 years by now. I have always enjoyed diving into solving difficult problems as well as developing computer software.
I live in Göteborg, Sweden, where I have been living since 1999. I moved here to start my studies at Chalmers University. I liked the city and have since then stayed. After I took my M.Sc in Applied Physics, I went on to do a PhD in Optical Remote Sensing. During my studies I implemented the methods and algorithms which I was trying to develop in C++. Honestly, the code wasn't that great looking, but which research code is? Well, after I finished I joined a great company called Thorlabs where I was working on designing and developing software for data analysis and instrument control. I really learned a lot on how to write good quality software during my more than six years at the company. However, as time goes I felt it was time to move on and I have now joined a small company in town which develops software (in C++ mostly) and algorithms for computer vision and image analysis.