What you'll learn

  • Understand in depth how pointers work

  • Understand the applications of pointers

  • Understand efficient implementation of basic data structures

  • Understand how callback mechanism works through pointers and objects

Course curriculum

    1. Quick Introduction to Modern C++ Features

      FREE PREVIEW
    2. Introduction to Pointers

    3. Pointers Example

    1. Source Files

    2. Array Basics

    3. Array Example

    4. Array as Function Argument

    5. Array as Reference Argument

      FREE PREVIEW
    6. Introduction to std::array

    7. Array on Heap

    8. Mulidimensional Array

    9. Multidimensional Array On Heap

    1. Source Files

    2. Introduction

    3. Constructors

    4. Accessors

    5. Modifiers

    6. Element Removal

    7. Copy/Move Semantics - I

    8. Copy/Move Semantics - II

    9. Copy/Move Semantics - III

    10. Copy/Move Semantics - IV

    11. Copy Move Semantics Implementation

    12. Dynamic Array Issues

      FREE PREVIEW
    13. Placement new

    14. Smart Reallocation

    15. Better Dynamic Array - I

    16. Better Dynamic Array - II

    17. Better Dynamic Array - III

    18. Better Dynamic Array - IV

    19. Conclusion

    1. Introduction

    2. Basic Functions

    3. Modifiers - I

    4. Constructors

    5. Copy/Move Operations

    6. Modifiers - II

    7. Modifiers - II

    8. Issues

    9. Element Access

    10. Source Files

    1. Source Files

    2. Basic Functions - I

    3. Basic Functions - II

    4. Modifiers - I

    5. Accessors

    6. Constructors

    7. Modifiers - II

    8. Modifiers - III

    9. Modifiers - IV

    1. Source Files

    2. Basics

    3. String Size

    4. Copy & Concatenation

    5. Copying Strings

    6. String Class

About this course

  • $12.99
  • 78 lessons
  • 7 hours of video content

Course Features

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

    What you should know before enrolling in this course

    • Basic knowledge of C & C++

Course Description

C & C++ are very powerful languages when it comes to performance & flexibility. But there are some features that are complex and take time to master. One of such features is pointers. Pointers is what separates C/C++ from other languages. These are incredibly powerful as they allow programs to access memory directly and manipulate it.

This course focuses on pointers and their applications.It leans more towards implementation in C++, rather C. You'll learn the basics of pointers and then move on to understanding and implementing arrays, pointers to arrays & heap based arrays. You'll also learn advanced memory management by creating a custom dynamic array (just like std::vector<T> in standard C++ library). You'll use placement new & delete to directly place objects in a memory pool allocated through operator new function. As you'll see later in the course, this is a powerful mechanism to optimize usage of heap memory with user-defined objects.

After arrays, you'll learn how to use pointers to create node-based data structures. We'll focus on two types of linked lists - singly & doubly linked lists. You'll understand the difference between arrays and lists and also learn how to access the elements of both the data structures without having to know their internal structure. This is possible by creating context variables that allows access in a container-agnostic manner. 

Pointers are invaluable while working with strings. You'll learn how to create dynamic strings using pointers. This will be shown with an implementation of a string class.

The next important topic you'll learn and implement will be function pointers. You'll understand how function pointers work and how we can simplify their syntax. You'll also master the complexity of creating arrays of function pointers and functions that return function pointers. On top of that, you'll be comfortable with functions returning pointer to functions that themselves return pointer to other functions. Confused? See the section on function pointers.

That's not all. You'll also learn how to create pointer to members (which have even a more complex syntax than function pointers). 

Furthermore, you'll learn how to create callbacks through functions pointers. This course will show you how to optimize the callbacks through function objects. Function objects are more powerful than functions pointers as callbacks.We'll use this knowledge and apply it in many examples to reinforce the concept of pointers to functions.

This course also introduces some commonly used containers of the C++ standard template library (STL), such as std::array, std::vector & std::list. By the time you hit these topics, you'll already know how these are implemented internally. How about that!

This course relies on some modern C++ (C++11) features to simplify things, such as auto, std::initializer_lists, type aliases. Even if you don't know about these features, the course has videos on these topics to get you started. Additionally, there are four full length videos dedicated to discussion on move semantics.

I hope you enjoy this course!

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