Modern C++ Memory Management: Learn to write good code fast
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?
- This course assumes that you have a basic knowledge of C++ and know how to write a simple C++ program. You may have used C++ professionally or just taken a course or two.
What am I going to get from this course?
- You will learn how to avoid the headache of manual memory management by using structures and principles of modern C++.
Introduction and Getting Started
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.
Elements of Modern C++
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
Solving Errors using Modern C++
When and why the destructor of your class should be virtual