What you'll learn

  • Understand different kinds of problems associated with memory management

  • Effectively detect & isolate memory problems

  • Gain confidence in C/C++ memory management

Course Features

  • Full lifetime access
  • Access on mobile
  • Certificate of Completion

    What you should know before enrolling in this course

    • Fair knowledge of C & C++

Course Description

C++ is a large and complex language, but it gives programmers complete freedom when it comes to management of dynamic memory. This allows the programmers to allocate memory and manipulate it at runtime. That is why C++ is still a favorite language for high performance applications in various domains such as gaming, telecom, finance, aerospace, etc.

However, it requires programmers to take great care while using dynamic memory, such as releasing acquired memory, taking care not to overstep memory boundary, etc. Otherwise, it could lead to problems such as dangling pointers, memory corruption, memory leaks, etc. 

This course will help you overcome all these problem by leveraging the excellent features that Visual Studio provides. It has a rich set of functions provided by the C/C++ runtime heap library. These functions can help detect memory leaks, overflows, etc. You'll learn how to use these functions effectively and make your programs bug-free.

In this course, you'll start with the basics of heap memory management and understand C & C++ allocation functions/operators in depth. You'll also learn how to effectively use them to avoid memory problems. Afterwards, you'll learn about the Visual Studio heap library functions and understand how to use them in your code.

By the end of this course, you'll have a deep understanding of dynamic memory management. You'll be able to use CRT heap functions effectively to detect & isolate memory problems. You'll also implement the Visual Studio functions so that they can be used with any C++ compiler.

Note:This course requires Visual Studio 2017 or a higher version.

Course curriculum

    1. Process Memory Layout

      FREE PREVIEW
    2. Introduction to Pointers

      FREE PREVIEW
    3. Using Visual Studio

    4. Debugging Basics

    5. Byte Ordering

    1. C Allocation Functions

    2. Examples

    3. Reallocation

    1. C++ Allocation Operators

    2. How new works - I

      FREE PREVIEW
    3. How new works - II

    4. Exceptions

    5. new handler

    6. Non-throwing Source Files

    7. Non-throwing new - I

    8. Non-throwing new - II

    9. Non-throwing new - III

    10. Placement new - I

    11. Placement new II

    12. Placement new III

    13. Pplacement new IV

    14. Placement new V

    15. Operator new & delete functions

    1. Memory Management Issues

    2. Uninitialized Pointers - I

    3. Uninitialized Pointers - II

    4. Buffer Overflow - Stack

    5. Buffer Overflow - Heap

    6. Dangling Pointers - I

    7. Dangling Pointers - II

    8. Memory Leaks - I

    9. Memory Leaks II

    1. Source Files

    2. String Class - I

    3. String Class - II

    4. String Class - III

    5. String Class - IV

    6. Detecting Heap Corruption in String

      FREE PREVIEW
    7. Heap Checker Class - I

    8. Heap Checker Class - II

    9. Heap Checker Class - III

    10. Heap Checker Class - IV

    11. Heap Checker Class - V

    1. Source Files

    2. _CrtDumpMemoryLeaks() function

    3. _CrtDumpMemoryLeaks() Example

    4. Leak Detection Flags

    5. Detailed Leak Dump

    6. Exercise

    7. Memory Snapshots - I

    8. Memory Snapshots - II

    9. Memory Checkpoint Class

    10. Issues with checkpoints

    11. Snapshots in Visual Studio - I

    12. Snapshots in Visual Studio - I

    13. Report Modes & Types - I

    14. Report Modes & Types - II

    15. Redirecting to File

About this course

  • $12.99
  • 71 lessons
  • 6 hours of video content

Instructor

Owner at Poash Technologies & Poash Learning Umar Lone

Civil engineer who found his calling in software development. Never worked as a Civil engineer, jumped at the first chance and started teaching C++, Visual C++ & COM 18 years ago. Currently, trains software professionals in various IT companies in India in different technologies, such as C++, Advanced C++, STL, Design Patterns, Android, Unity, Linux, etc. Very passionate about teaching and has trained more than 35,000 software professionals in a teaching career spanning more than 2 decades. An avid gamer, currently trying his hand with game development in Unity & Unreal. Has a few Android applications to his credit, including one on Design Patterns. Only thing he likes more than C++ is Modern C++.

New course notifications

Add your email to the mailing list to get the latest updates.

Thank You