Coding Shorts: Making Sense of Stack vs. Heap

Sdílet
Vložit
  • čas přidán 11. 06. 2024
  • This is a different kind of video that I usually make. The topic of how memory is handled in a variety of languages is a key concept every developer should have a handle on. In this quick tutorial, I try and explain how it works. Take a look!
    If you like this video, you might like other videos in my Instructional Videos:
    - • Instructional Videos
  • Věda a technologie

Komentáře • 15

  • @kinsondigital
    @kinsondigital Před 13 dny

    Great explanation!! Love it!

  • @RobertSagoe
    @RobertSagoe Před 14 dny +1

    Your explanation is clear and concise, making the process easy to understand. Thank you for the details and excellent graphical explanation .. really helpful

  • @LUNTE1337
    @LUNTE1337 Před 15 dny +1

    Excellent explanation and visualization!

  • @nickguerra8460
    @nickguerra8460 Před 15 dny

    Nice explanation. It helped clarify a few things. Thank you for your efforts!

  • @adsfaedaer
    @adsfaedaer Před 15 dny

    when the stack pops what happens to a struct - which is a value type - that contains a string. is the string immediately culled (because the struct has been cleaned up) or does it wait around for the GC? - also how many pancakes where consumed after you did this ?

    • @swildermuth
      @swildermuth  Před 15 dny +1

      any reference types that the struct is holding on to will be released to the GC but not disappear immediately. The Struct is a value type but it doesn't promote members of the struct to value types, remember the reference types in the struct are just the addresses of the reference types in the heap. Does that make sense?

    • @heavypeki
      @heavypeki Před 14 dny

      @@swildermuth Perfectly makes sense. Struct in itself is a value type, but isn't responsible for its own members which could be address pointer.

  • @williamliu8985
    @williamliu8985 Před 15 dny

    Is it able to see if the target is in stack or heap when debugging?

    • @swildermuth
      @swildermuth  Před 15 dny

      I don't see a way, but of course, you can see the type (and infer it's on the stack) - might want to look at C# boxing too (essentially making a reference to a value type so that it becomes a reference type).

    • @williamliu8985
      @williamliu8985 Před 15 dny

      @@swildermuth Thanks! It would be nice if their locations were clearly indicated in the debugger so that programmers don't have to guess about such a basic but important concept.