Dynamic Memory Allocation -- C++ Pointers Tutorial [8]
Вставка
- Опубліковано 23 сер 2024
- Let's learn about dynamic memory allocation, what it is, how to use it and when to use it. We'll cover the new and delete operators and talk about memory leaks and how to avoid them. In this C++ programming tutorial for beginners, you'll learn through coding examples done using Visual Studio 2022 C++ Community.
In addition, you'll see how to create a new array and a new int using the new operator and how to free the memory by using the delete operator.
// Learn More
Pointers Playlist ⇒ • Playlist
• Playlist
C++ Programming for Everyone ⇒ • Playlist
// Consider supporting this channel in multiple ways
ko-fi.com/prof...
paypal.me/hank...
Bitcoin: 177wfkQwzXiC8o2whQMVpSyuWUs95krKYB
Dogecoin: DRK2HDp3ZkkbFpvGZnVgMVosnBhPv8r3uP
I’m a second semester cpp student and you literally cleared up so much information compared to my hours of reviewing and reading online. Thanks bro
You're so welcome!
I'm not a student of yours but I am a cs student. Thank you for the video. Your way of explaining it is very easy to understand. I see you have a whole catalog of videos so I'm definitely going to be relying on you to help understand the more difficult concepts
Thanks and welcome
Excellent explanation, I love how meticulous you were when describing all the ins and outs. Great video!
Thanks so much!
By far the best resource for learning about dynamic memory allocation! Using this video to study for my final next week :)
Hi, Matthew. Thanks tons for the kind words and glad you find it helpful!
One of the topics I've had the most trouble with and this explained what a full semester couldn't!
Glad you found it useful. Best of luck to you in the future!
This is helping me in my second college c++ class!
This was so easy to understand. Thank you! Best memory allocation video on UA-cam!
You're very welcome!
Best video on dynamic memory allocation
Glad you found it useful and thanks for the comment!
Thank you for making this available! I can't wait for the next lecture.
You are welcome. I have one more video planned for this series. I'm hoping to have it ready by Friday.
Thanks for teaching , sir 😊
Best explanation ever, would have loved to listen what you said before doing the outro haha, but anyway, thanks for these videos!
we had to watch a lot of commercial before we could even begin your tutorial
Isn't UA-cam great?
Hey, hank, I really appreciate you for making this available to everyone l. Was this the last lecture on pointers for now?
Thanks for the kind words! I think I have one more to do in this series for now, and that will cover returning pointers from functions.
@@ProfessorHankStalica Pointer to C++ Classes??
Just like any other type of variable. Assume a class definition named Foo. Then,
Foo* f = new Foo;
First of all great, amazing video but arent we supposed to reassign the pointer to nullptr...after deleting the memory?
That's best practice, definitely. There's no syntactical requirement to do so though.
@@ProfessorHankStalica Thank you for the explanation
i understand clearly. 😍
Thank you sir !
Most welcome!
Dear Professor, This is the best video on this topic I have come across. I want to know how can I get the "heap" memory address of the "new int" stored in int *n or int* o. Dereferencing n and o gives garbage output.
Not sure I understand the question. You can share a snippet of code of what you are trying to do?
i think there is a mistake in the video. The memory for n (the pointer itself) is allocated on the stack when the main function is called. This allocation happens at runtime, not at compile time.. during compile time actual physical memory is not allocated to the variables because main is called like a normal function. n is allocated at run time not compile time . same with all other vars in the video.
Of course you are correct.
Our text only talks about compile time vs run time at this level so I stuck with that to make it less confusing for our students by staying consistent with the text.
A proper assembly programming course will spell it out in detail, which is beyond the scope of this course and video.
Great sir
im so frustrated, everyone says its so we can creat arrays whos size is defined by the user.
so why don't we just do
{
int size; cout>size;
int array[size];
for(int x:array) cout
static memory is allocated on the stack and only remains available while it is in scope. For example, local variable in a function and once the function finishes executing, the memory is gone.
dynamic memory is allocated on the heap and remains until you explicitly free it using delete. So it will persist because it is not bound to scoping rules as static memory is.
In other words, if you want to use that array anywhere other than the scope in which it's declared, you can't.
Why bald guy is always so fantastic af
It's the sexual solar panels. 🤔
Thank u Hank :)
Hi, Joey. I'm really happy you found the video useful.
And thanks for the PayPal contribution. I really appreciate it!
dynamic hair allocation failed 💀 (jk awesome video) u are awesome
Big time, but think of all the money I saved on dating. 🤣🤪😆
@@ProfessorHankStalica 😂 respect.
istn't an integer equals 8 bytes not 4?
4 bytes for an int, 2 bytes for a short, 1 byte for a char, and 8 bytes for a long long. Although, technically it can vary based on architecture. Most modern systems will have the above.
doubles are 8 bytes and floats are 4 bytes.
see: en.cppreference.com/w/cpp/language/types
Trypophobia (((
I know, I'm sorry. I've switched backgrounds in my recent videos.