
Introduction of the course
This video describes about the instructor's experience and qualifications
This lecture explains some advantages of using pointers, as well as provides an overview of the course and the course objectives.
This lecture gives a first bite about application memory by showing how to get the size of a variable and objects, as well as the address where they are allocated.
In this lesson, we’re going to briefly discuss about how to work with pointers by learning some basic concepts like Referencing a variable and Dereferencing a pointer.
Pointer Arithmetic is really important for memory management, so this lecture explains how to use the incrementing and decrementing operations with pointers.
Furthering with pointer arithmetic, we begin our first steps in handling values in memory by learning how to use pointers comparison to move through memory locations.
As well as common variables, pointers have also different types, therefore we take a brief look into them, learning how to use them and why it’s important to keep them in mind.
A void pointer, also known as a generic pointer has some features that are useful in some cases, therefore this lesson focused on discussing how to use generic pointers and when they are helpful.
Another feature used with pointers is the ‘const’ keyword, that’s why this lecture discuss how to use the constant keyword with pointers and when they are helpful.
Before beginning with the next section, it’s important to start learning more about how the use of the application memory works by looking some concepts and overview of its functionalities.
This lecture explains what is a reference and why is important to understand here the meaning of a local variable and its lifetime within the program.
In this lesson, we’re going to discuss how it can be optimized the use of memory of your program by using references and pointers between function frames.
Pointers can be shared also from a function, but there is here critical aspects to consider which this lesson explains, in order to be careful by doing this.
In this lesson, we’re going to discuss how are related the pointers and arrays and different ways to use them in your code.
Using pointers, there is different ways to loop through arrays and we’re going to discuss them in this lesson by looking it is helpful to use them.
This lecture explains how to pass an array to a function, providing you also with some aspects to consider for the syntax.
In this video, we’re going to discuss about how Characters and Strings are related and handling those with pointers by doing some practical examples.
In this lecture, we further with the use of string and character arrays by learning what to consider when you pass an array of characters to a function.
Reversing an string is recommended practical exercise to learn more about String and Pointers by training some concepts.
This lesson discuss about having higher dimensional arrays by explaining how to handel two dimensional arrays and higher dimensions.
This video shows how the function ‘sizeof’ is useful to iterate through multidimensional arrrays by doing some practical exercises creating 2D and 3D arrays.
This lesson explains how we can use pointers to work with muldimensional arrays by beginning with a practical exercise for 2D-Arrays.
Sometimes is difficult to imagine dimension higher dimensions than our 3D physical space where we live, so in this lecture, we further with the use of pointers for multidimensional arrays by simplifying the understanding of them.
There is some features to take in account, when you share multidimensional arrays between function frames, therefore this lesson take look of this case.
In this lecture, we’re going to discuss about about having pointer to pointers, learning how to use them and what to consider when you address a pointer with another pointer variable.
This video explains why we can find multiple indirection in the case of strings and how to handle pointer to pointer between functions.
This video further with the features for references and pointers by discussing what differences appear when you use a reference and when you use a pointer, by doing practical exercises.
In this lesson, we’re going to look how to create a reference to a pointer variable and using it as function argument.
This lecture provides a look into sharing references between function frames by returning it from a function, and important aspects to consider.
Before beginning to allocate memory dynamically, we’re going to see more in detail how the application memory works by learning more about the segments in which the memory of your application is distributed, as well as different important concepts and aspects to consider.
Furthering with the functionalities around the application memory, this video explains more about important facts to consider for coding when we are allocating memory in the heap in C and C++, through practical exercises.
In this lecture, we’re going to discuss about learn how to allocate and deallocate dynamically memory by using the heap segment.
Multiple indirection can also be used for multidimensional arrays, so this lesson takes a look to the use of the pointer based approach for these arrays to allocate its elements in the heap, as well as the advantages of doing that.
This video explains the basic concept of using the address or entry point of a function inside your program, and how function pointers take advantage of this.
Furthering with the syntax of function pointers by understanding its functionalit through a practical exercise.
In this lecture, we’re going to discuss about use cases of Function Pointers by applying them between function frames during runtime furthering with this topic.
In this video, we further with the application of function pointers by learning how to create general functions and use them through Function Pointers to generalize its purpose and making your code more efficient.
the concept of vector as a data structure to storage information
Methods
How to create multidimensional vector and operate with them.
a conceptual approach to understand lists and how different they are from other structures by making allocation and deallocation more efficient.
deep down in the class List through a practical approach by using some of its methods to understand this type of structure.
Here, we dicuss how to write text files as a sequence of characters in the secondary memory of the computer and the some techniques used for this task.
This videos dicuss about how to read and bring to the application memory of your program a text written in the secondary memory of the machine.
In this lecture, we create structures as an object of easy access and specify the length of the packages, which are going to be used to write and read it into and from the secondary memory.
From a pointers perspective, it's explained here how to write and read binary files between the application memory and the secondary storage of the machine, as well as important details to consider by creating binary files to improve this task according to the objects to be saved by doing some practical exercises handling a structure.
In this lecture, we discuss about problems with inefficient manage of the application memory by letting allocated memory unused until the point of consuming large amount of resources.
This video explains how dangling references are generated and which issues are encountered when the addresses of freed memory are used.
In this video tutorial, it's explained and clarified in detail the lifetime of a pointer variable in the application memory
This lesson focused on the difference between a Shallow Copy and a Deep Copy, while we are making copies of an object that allocates memory dynamically.
In the last decades, the technology has improved to the point, where many tasks rely on the performance of the devices or machines which serve the human. For a big group of applications, the execution speed is the priority, in this cases, main aspects get involved like security or robustness, thus in order to reduce the risk and guarantee faster responses C/C++ as programming language supports in many cases the software of those systems, in fact, one of the powerful tools of it is the use and handling of pointers, which provides mechanisms to optimize the performance of an application.
Examples in the automotive sector and robotics can give us a brief idea of why you need speed in those systems that interact directly with humans, where it requires responses in real-time. Also, there is a quite expanded use of pointers in game development, where it has to assure a real player’s actual experience of the game.
This course focuses on understanding the different functionalities of pointers with conceptual and practical examples, teaching you to perceive what happens internally in memory when we apply different functionalities of pointers. If you want more than a superficial look at handling pointers, this course is for you.
PREREQUISITES / KNOWLEDGE YOU ARE ASSUMED TO HAVE:
· Basic understanding of C Programming. (Variable types, Functions, Loops, output/input of strings, arrays, and lists)
· Object-oriented programming
TIPS (for getting through the course):
· Write down some definitions, if you need to.
· Write code yourself, don't just sit there and look at my code.
· Try to explore each topic by yourself doing variations to the examples.
· Rely on web documentation of C/C++ for functions or details which are unclear for you, right after you’ve seen it, thus you avoid accumulating doubts.
WHAT ORDER SHOULD I TAKE YOUR COURSES IN?:
· Try to follow the usual order of each section, since the level of the exercises increases progressively.
Who this course is for:
· Understand the different functionalities of pointers and memory management in C/C++ programming language.
· Students studying basic programming or object-oriented programming with basic knowledge of C/C++.
· Professionals who want to apply pointers to optimize some programs or applications of the certain systems.
· Entrepreneurs who want to apply pointers to optimize some programs or applications of the certain systems.
· Students in computer science who want to learn more about pointers and memory management.