Dynamic Memory Allocation -- C++ Pointers Tutorial [8]

Поделиться
HTML-код
  • Опубликовано: 4 фев 2023
  • 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/professorhank
    paypal.me/hankstalica1
    Bitcoin: 177wfkQwzXiC8o2whQMVpSyuWUs95krKYB
    Dogecoin: DRK2HDp3ZkkbFpvGZnVgMVosnBhPv8r3uP

Комментарии • 49

  • @broozkej8518
    @broozkej8518 Год назад +26

    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

  • @treyandrews201
    @treyandrews201 Год назад +13

    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

  • @rizzmaster5000
    @rizzmaster5000 2 месяца назад +2

    Excellent explanation, I love how meticulous you were when describing all the ins and outs. Great video!

  • @duckie_gamez
    @duckie_gamez Год назад

    Thank you for making this available! I can't wait for the next lecture.

    • @ProfessorHankStalica
      @ProfessorHankStalica  Год назад

      You are welcome. I have one more video planned for this series. I'm hoping to have it ready by Friday.

  • @BigCatSoftware
    @BigCatSoftware 7 месяцев назад

    This was so easy to understand. Thank you! Best memory allocation video on RUclips!

  • @linkofcrafting8929
    @linkofcrafting8929 Год назад +2

    This is helping me in my second college c++ class!

  • @matthewhrndz
    @matthewhrndz Год назад +2

    By far the best resource for learning about dynamic memory allocation! Using this video to study for my final next week :)

    • @ProfessorHankStalica
      @ProfessorHankStalica  Год назад

      Hi, Matthew. Thanks tons for the kind words and glad you find it helpful!

  • @GEAG08
    @GEAG08 Год назад

    Best explanation ever, would have loved to listen what you said before doing the outro haha, but anyway, thanks for these videos!

  • @mohamedboubakeur4554
    @mohamedboubakeur4554 2 месяца назад

    Thanks for teaching , sir 😊

  • @ARSIL_AFRIDI
    @ARSIL_AFRIDI Год назад

    Great sir

  • @mohamednusair2722
    @mohamednusair2722 4 месяца назад

    i understand clearly. 😍

  • @Truth_Seeker1202
    @Truth_Seeker1202 Год назад

    Best video on dynamic memory allocation

  • @lorddoinkus6349
    @lorddoinkus6349 Год назад +1

    One of the topics I've had the most trouble with and this explained what a full semester couldn't!

  • @dunyagg00
    @dunyagg00 11 месяцев назад

    Thank you sir !

  • @joey6047
    @joey6047 Год назад

    Thank u Hank :)

    • @ProfessorHankStalica
      @ProfessorHankStalica  Год назад

      Hi, Joey. I'm really happy you found the video useful.
      And thanks for the PayPal contribution. I really appreciate it!

  • @sameaspastmueed
    @sameaspastmueed Год назад +1

    Hey, hank, I really appreciate you for making this available to everyone l. Was this the last lecture on pointers for now?

    • @ProfessorHankStalica
      @ProfessorHankStalica  Год назад +1

      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.

    • @liboyan7010
      @liboyan7010 Год назад

      @@ProfessorHankStalica Pointer to C++ Classes??

    • @ProfessorHankStalica
      @ProfessorHankStalica  Год назад

      Just like any other type of variable. Assume a class definition named Foo. Then,
      Foo* f = new Foo;

  • @chiyang3749
    @chiyang3749 19 дней назад

    we had to watch a lot of commercial before we could even begin your tutorial

  • @syedimadhaqqi4340
    @syedimadhaqqi4340 8 месяцев назад

    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.

    • @ProfessorHankStalica
      @ProfessorHankStalica  7 месяцев назад

      Not sure I understand the question. You can share a snippet of code of what you are trying to do?

  • @stevenrashid5810
    @stevenrashid5810 2 месяца назад +1

    First of all great, amazing video but arent we supposed to reassign the pointer to nullptr...after deleting the memory?

    • @ProfessorHankStalica
      @ProfessorHankStalica  2 месяца назад +1

      That's best practice, definitely. There's no syntactical requirement to do so though.

    • @stevenrashid5810
      @stevenrashid5810 2 месяца назад

      @@ProfessorHankStalica Thank you for the explanation

  • @its4theer
    @its4theer 27 дней назад

    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

    • @ProfessorHankStalica
      @ProfessorHankStalica  27 дней назад

      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.

  • @user-no9xf5ng4v
    @user-no9xf5ng4v 29 дней назад

    Why bald guy is always so fantastic af

  • @qqqqssss510
    @qqqqssss510 2 месяца назад

    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.

    • @ProfessorHankStalica
      @ProfessorHankStalica  Месяц назад

      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.

  • @mitchoulina4324
    @mitchoulina4324 5 месяцев назад +1

    dynamic hair allocation failed 💀 (jk awesome video) u are awesome

    • @ProfessorHankStalica
      @ProfessorHankStalica  5 месяцев назад +1

      Big time, but think of all the money I saved on dating. 🤣🤪😆

    • @mitchoulina4324
      @mitchoulina4324 5 месяцев назад

      @@ProfessorHankStalica 😂 respect.

  • @alexander_kozin9214
    @alexander_kozin9214 20 дней назад

    istn't an integer equals 8 bytes not 4?

    • @ProfessorHankStalica
      @ProfessorHankStalica  19 дней назад

      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

  • @azizbeksavkimov7279
    @azizbeksavkimov7279 Год назад

    Trypophobia (((