peiqing9003ah
V2EX  ›  C++

析构函数有啥鸟用啊?

  •  
  •   peiqing9003ah · Nov 26, 2019 · 4235 views
    This topic created in 2535 days ago, the information mentioned may be changed or developed.

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

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

    Sricecake
    Sricecake
    Nov 26, 2019
    1
    你要析构对象的成员变量也可能分配在堆中,也需要在这个时候把内存释放掉。
    peiqing9003ah
    peiqing9003ah
    OP
    Nov 26, 2019
    2
    不是每个成员变量都是指针类型。 为了迁就堆中分配的内存能释放,而搞这么大一统,的。 没晒意思。
    wwqgtxx
    wwqgtxx
    Nov 26, 2019
    3
    简单的来说,你在 class 的构造函数和成员函数中 new 的东西记得去析构函数中 delete
    而且析构函数还能实现很多其他的操作,比如 std::lock_guard,实现类似于其他语言的 try-with-resource 的功能
    至于“没几把鸟用”这种话,那只能说明你学的太浅,C++中模板方面还有一大堆看起来“没几把鸟用”、“看都看不懂”的功能,因为人家自然有人家该有的意义
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2894 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 12:40 · PVG 20:40 · LAX 04:40 · JFK 07:40
    ♥ Do have faith in what you're doing.