72
Bjarne Stroustrup: How do I deal with memory leaks? By writing code that doesn't have any.
(www.stroustrup.com)
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities !webdev@programming.dev
The memory leaks section just feels like an introduction to smart pointers as though they're some complex concept. Also, the page is showing its age by mentioning the now-removed
auto_ptrinstead of something likeunique_ptr.Anyway, scrolling down a little more:
This actually comes up in C# with arrays. Copying their example here:
It may have been a design mistake not to make C#'s arrays invariant, though I don't know the state of that debate today.
Invariant?
Neither covariant nor contravariant.
supertype[] is not a supertype of subtype[] if supertype and subtype alone are in that relationship, because the mutability of arrays means that the Liskov substitution principle doesn't hold.
(These are all something you'll probably find good explanations of on Wikipedia.)
Thank you for your reply. Sadly I don't know terms like covariant or supertype either 😅 so I'll have to look into all that when/if it comes up. I write in GDScript for fun (a game engine's high-level scripting language said to have syntax similar to Python).