析构函数有啥鸟用啊?

2019-11-26 20:33:39 +08:00
 peiqing9003ah

我感觉析构函数都没几把鸟用啊。真正的 free 都在后面。

那么问题来了,要析构函数 ,包括 delete 的调用析构, 有啥意义啊???

3064 次点击
所在节点    C++
3 条回复
Sricecake
2019-11-26 21:01:37 +08:00
你要析构对象的成员变量也可能分配在堆中,也需要在这个时候把内存释放掉。
peiqing9003ah
2019-11-26 23:02:59 +08:00
不是每个成员变量都是指针类型。 为了迁就堆中分配的内存能释放,而搞这么大一统,的。 没晒意思。
wwqgtxx
2019-11-26 23:04:52 +08:00
简单的来说,你在 class 的构造函数和成员函数中 new 的东西记得去析构函数中 delete
而且析构函数还能实现很多其他的操作,比如 std::lock_guard,实现类似于其他语言的 try-with-resource 的功能
至于“没几把鸟用”这种话,那只能说明你学的太浅,C++中模板方面还有一大堆看起来“没几把鸟用”、“看都看不懂”的功能,因为人家自然有人家该有的意义

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/623395

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX