请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

delete与析构函数

老师好。请问使用new操作符动态创建的对象,析构函数是不是不会被自动调用,而是需要通过delete来调用析构函数呢?谢谢老师!

正在回答

1回答

你的问题太不是问题了,好像没学过C++一样。

0 回复 有任何疑惑可以回复我~
  • 提问者 李谌 #1
    老师批评的是,但是我报咱们这个从0到1系统精讲的课,已经证明我没学过C++了,可能我太笨了,老师别介意。
    回复 有任何疑惑可以回复我~ 2023-04-22 21:06:33
  • 长歌_吴从周 回复 提问者 李谌 #2
    用new创建的对象,用delete释放,释放的时候会调用析构函数。
    你可以写一个简单的类,在析构函数中输出日志,跟踪析构函数调用的情况。
    回复 有任何疑惑可以回复我~ 2023-04-22 21:11:53
  • 提问者 李谌 #3
    可能我的问题没表述清楚,当时提问的时候是使用void*作为指针时,delete就没有调用析构函数。这里我猜测是因为void没有类型,所以没有调用析构,但是我搞不清楚C++底层在这块是如何自动调用的,所以问了这个问题。
    回复 有任何疑惑可以回复我~ 2023-04-22 21:21:10
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信