C++没有调用析构函数

github地址

在项目中遇到一个问题,析构函数没有调用产生了内存泄露。

具体见valgrind检测libevent内存泄露

我们看两个例子

  • demo1
class Test1;
void del(Test1* obj){delete obj;
}
class Test1{
public:Test1(){printf("Test1\r\n");}~Test1(){printf("~Test1\r\n");}
};
int main()
{Test1* obj = new Test1();del(obj);return 0;
}
  • demo2
class Test2{
public:Test2(){printf("Test2\r\n");}~Test2(){printf("~Test2\r\n");}
};
void del(Test2* obj){delete obj;
}
int main()
{Test2* obj = new Test2();del(obj);return 0;
}


这里是类的前置声明问题,1中函数del()只是知道Test是一个类,但是并不知道其析构函数所在的地址,所以无法调用其析构函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实际操作之路考的这些事

辛苦了这么久练习路考,今天终于实际操作到我路考了。上车以后。关上车门。把考试的单地上给考官。还没有认真的去看考官一眼。于是就听到考官用低沉的声音对我说:你好!当时就感觉有一点意外。没想到考官你这么有礼貌。然后我就没那么紧张了&a…

[C# 网络编程系列]专题十二:实现一个简单的FTP服务器

引言: 休息一个国庆节后好久没有更新文章了,主要是刚开始休息完心态还没有调整过来的, 现在差不多进入状态了, 所以继续和大家分享下网络编程的知识,在本专题中将和大家分享如何自己实现一个简单的FTP服务器。在我们平…

vue 2 使用 Bus.js 实现兄弟 (非父子) 组件通信 简单案例

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 vue2中废弃了$dispatch和$broadcast广播和分发事件的方法。父子组件中可以用props和$emit()。如何实现非父子组件间的通信,可…

jenkins自动化部署

jenkins自动化部署 github地址 首先设置源码地址,jenkins会从仓库中拉取最新代码 拉取代码后运行shell脚本自动进行编译 cd mediaService cmake -S . -B cmake-build-release-hisi3531 -DCMAKE_C_COMPILER/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin…

学开车不能急于求成,心急上路

我发现很多人开始学开车以后就急着要上路,觉得开车是很简单的事情,个人觉得开车虽然不难(相对于会开车的人来说),但是,虽然不是很难,也不是一学会开车起步就能上路去潇洒的。急于求成的人很容易…

valgrind检测libevent内存泄露

valgrind检测libevent内存泄露 github地址 在使用封装好的http库时,遇到了如下的内存泄露,一开始在definitely处还存在泄露,这里就不贴图了,已经被淹没了。 根据提示定位出错代码位置,如下图: 这里提示ev…

大佬(概率期望DP)

首先根据数据范围,可以判断基本上是n^2的复杂度 通过分析我们发现每一次都可以从m个数中任意选,既然任意选,那么此时的概率的分母就是不变的,然而题中涉及的是某一段的最大值,所以我们按套路假设 f[i][j]表示第i天&…

高效的数据压缩编码方式 Protobuf

高效的数据压缩编码方式 Protobuf github地址 目录 ProtocolBuffers 是什么为什么要发明 ProtocolBuffersproto3 定义 Message 分配字段编号保留字段默认字段规则各个语言标量类型对应关系枚举枚举中的保留值允许嵌套枚举不兼容性更新 Message未知字段Map 类型JsonMapping p…

解决 VUE前端项目报错:RangeError: Maximum call stack size exceeded

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 我点击菜单按钮报错: RangeError: Maximum call stack size exceeded 2. 原因:参数传递有问题或者方法调用有…

新手必须掌握的学车技巧-上坡起步

我们知道,做什么事情都是万事开头难,新手们在学车方面更能体会到这一点,正确掌握学车技巧对于新手来说是非常重要的事情,今天,平安学车网(www.paxcw.com)就会大家探讨一下我们学车时必须掌握的是…

高效的序列化/反序列化数据方式 Protobuf

高效的序列化/反序列化数据方式 Protobuf github地址 目录 protocolBuffers 序列化 Int32StringMapslice序列化小结 protocolBuffers 反序列化 Int32StringMapslice序列化小结 序列化/反序列化性能最后 protocolBuffers序列化 上篇文章中其实已经讲过了 encode 的过程&…

解决 VUE前端项目报错: Uncaught ReferenceError : initPage is not defined (initPage 方法是有的,依旧报错找不到)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 明明代码中定义了 initPage 这个方法,,却一直报找不到这个方法: Uncaught ReferenceError: init…

掌握新手学车技巧对于新手来说是非常重要的

刚开始学车的时候对于新手来说很多操作不知道从哪里下手,这个时候,如果按照相关的学车技巧来学习的话,对于新手来说是非常有好处的。下面我们就来学习一下让新手们可以快速进入开车状态的学车技巧吧!基本上驾校的教练都会教学员把…

iView学习笔记(三):表格搜索,过滤及隐藏列操作

iView学习笔记(三):表格搜索,过滤及隐藏某列操作 1.后端准备工作 环境说明 python版本:3.6.6 Django版本:1.11.8 数据库:MariaDB 5.5.60 新建Django项目,在项目中新建app,配置好数据库 api_test…

Jenkins自动编译库并上传服务器

Jenkins自动编译库并上传服务器 github地址 首先添加 git 地址: 再添加定时构建,每天夜里构建一次: 执行 shell 脚本进行构建 cd networklayerecho "build json x86" cmake -S . -B cmake-build-release -DCMAKE_BUILD_TYPERele…

解决:The “data“ option should be a function that returns a per-instance value in component definitions

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 只是想定义一个变量,方便页面上调用 。 报错: The "data" option should be a function that re…

gdb 调试 TuMediaService

gdb 调试 TuMediaService github地址 起因 首先需要有 armgdb 环境运行 ./armgdb ./TuMediaService 进入 gdb 模式b hi3531_trcod_interface.cc:98 打断点r 运行程序print this->vdec_config_path_ 打印关键值 在这里我们关注的值已经被修改,由于程序中没有刻…

PyQt安装和环境配置

PyQt安装和环境配置 github地址 首先安装Pycharm 新建一个空的 python 工程,找到 setting 安装第三方模块 PyQT5 , 点加号,先安 PyQT5 , 再安装 pyqt5-tools ,后面包含 qtdesinger 以上模块都安完,设置扩展工具的参数找到 sett…

HZOJ 大佬(kat)

及其水水水的假期望(然而我已经被期望吓怕了……)。 数据范围及其沙雕导致丢掉5分…… 因为其实每天的期望是一样的,考虑分开。 f[i][j]表示做k道题,难度最大为j的概率。 则f[i][j](f[i-1][j])*(j-1)*temq[j]*tem;q为前缀和&#…

F12 界面:请求响应内容 Preview 和 Response 不一致、接口返回数据和 jsp 解析到的内容不一致

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 情况描述: 我有一个接口只是简单的查询列表数据并返回给前端作一个表格展示。 接口返回的 userId 数据为:…