Virtual Destructors | C++ Tutorial

  Рет қаралды 3,750

Portfolio Courses

Portfolio Courses

Күн бұрын

How and why to use virtual destructors in C++, including why they are very important to prevent memory leak bugs. Source code: github.com/por.... Check out www.portfolioc... to build a portfolio that will impress employers!

Пікірлер: 21
@Lee13Mac
@Lee13Mac 5 ай бұрын
Should the delete call within each class destructor be changed to delete[ ], given that new[ ] was used to allocate memory for the integer arrays?
@variancewithin
@variancewithin Жыл бұрын
your videos are criminally underrated.
@PortfolioCourses
@PortfolioCourses Жыл бұрын
I'm glad you think so! :-)
@wlcrutch
@wlcrutch 2 жыл бұрын
Dude, thank you! Super clear! 🙏🏻🙏🏻🙏🏻
@PortfolioCourses
@PortfolioCourses 2 жыл бұрын
You're welcome! :-)
@jaissonmonteiro9232
@jaissonmonteiro9232 10 ай бұрын
Sorry my English, I am Brazilian 😅 anyway thanks for c++ tutorial playlist, I am learning so much with it 🤝👏🚀
@PortfolioCourses
@PortfolioCourses 10 ай бұрын
Awesome! :-)
@snowandl4195
@snowandl4195 2 жыл бұрын
I think you're like Bob Ross but in programming
@PortfolioCourses
@PortfolioCourses 2 жыл бұрын
Hahahahaha that makes me really happy that you would say that! :-D I actually love having a Bob Ross video on in the background when I'm programming.
@shafayet0198
@shafayet0198 2 жыл бұрын
can we use delete [] array; to free the array instated of a loop?
@PortfolioCourses
@PortfolioCourses 2 жыл бұрын
Great question Akash! :-) Because we allocates space using new (instead of new []), we de-allocate the space using delete (instead of delete []). To do otherwise would result in undefined behavior in C++: stackoverflow.com/a/2425749.
@mihirjog2707
@mihirjog2707 8 ай бұрын
So is it a good practice to have your base class destructors always virtual, even if you're not using polymorphism? So that if we're to use it in future, we'll be safe?
@Lee13Mac
@Lee13Mac 5 ай бұрын
I was thinking the same thing - my guess is that a downside of such a practice is the efficiency lost to dynamic binding over static binding in cases where dynamic binding is not strictly necessary.
@Emmanuel_Morris
@Emmanuel_Morris 2 жыл бұрын
Thanks,Sir.🙌🏾
@PortfolioCourses
@PortfolioCourses 2 жыл бұрын
You're welcome Emmanuel! :-)
@Vichained
@Vichained 2 жыл бұрын
To be honest, I have watched this video many times but there is something that still doesnt make sense to me: Why would you create a derivedclass objetct using a Base class pointer? what would it be useful for?
@PortfolioCourses
@PortfolioCourses 2 жыл бұрын
Polymorphism is the reason, it can allow us to have an array of pointers to different types of child objects, with a loop working through the objects and calling each object's member functions. The binding of those function calls can be dynamic, which means each object can have its own 'behaviour' according to its type. Writing code like this can allow us to remove code duplication, and though it may not seem like it, it can actually be more understandable code in the long run too! This video talks about polymorphism more: kzbin.info/www/bejne/Y3e4mXpvbc2Xgqs
@Vichained
@Vichained 2 жыл бұрын
@@PortfolioCourses Now it makes sense. Thanks sir!
@PortfolioCourses
@PortfolioCourses 2 жыл бұрын
You’re welcome! :-)
@xturki5741
@xturki5741 2 жыл бұрын
u are the best
@PortfolioCourses
@PortfolioCourses 2 жыл бұрын
Aww thanks for the kind feedback! :-)
sort() Standard Library Function | C++ Tutorial
8:54
Portfolio Courses
Рет қаралды 10 М.
Pure Virtual Destructors | C++ Tutorial
18:12
Portfolio Courses
Рет қаралды 3,7 М.
Enceinte et en Bazard: Les Chroniques du Nettoyage ! 🚽✨
00:21
Two More French
Рет қаралды 42 МЛН
黑天使被操控了#short #angel #clown
00:40
Super Beauty team
Рет қаралды 61 МЛН
Try this prank with your friends 😂 @karina-kola
00:18
Andrey Grechka
Рет қаралды 9 МЛН
Aggvent Calendar Day 31
7:02
Andy Math
Рет қаралды 10 М.
Destructors in Programming: Practical Demonstration
20:10
CodeBeauty
Рет қаралды 36 М.
Virtual Destructor In C++
10:17
CppNuts
Рет қаралды 16 М.
Abstract Classes And Pure Virtual Functions | C++ Tutorial
11:05
Portfolio Courses
Рет қаралды 17 М.
Virtual Destructors in C++
7:55
The Cherno
Рет қаралды 108 М.
Multiple Inheritance Deep Dive | C++ Tutorial
14:53
Portfolio Courses
Рет қаралды 11 М.
WHY IS THE STACK SO FAST?
13:46
Core Dumped
Рет қаралды 186 М.
Friend Functions | C++ Tutorial
13:05
Portfolio Courses
Рет қаралды 11 М.
Enceinte et en Bazard: Les Chroniques du Nettoyage ! 🚽✨
00:21
Two More French
Рет қаралды 42 МЛН