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…

JS-[IIFE闭包]

JS-IIFE&闭包 IIFE(立即调用函数表达式)示例IIFE实现单例模式闭包计数器例子非闭包实现闭包实现IIFE闭包实现内存泄露解决IIFE(立即调用函数表达式) 示例 (function iife(){ //直接执行,无需调用console.log("hello"); })(); //上面相当于function ii…

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

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

vue 组件间传值、兄弟组件 、bus方式 ( 1 分钟看懂 )

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 bus方式的组件间传值其实就是建立一个公共的js文件,专门用来传递消息 1.建立公共文件,并引入 新建msgBus.js文件…

valgrind检测libevent内存泄露

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

往对象数组里面添加相同的key 不同的value

应用场景&#xff1a;后盾字段没有发给你 自己补充数据 <div v-for"item in list" :key"item.id"><p>{{ item.id}} ----> {{ item.name}} --->{{ item.sex }}---> {{ item.tel }}---->{{ item.link}}--插入数据</p></di…

vue 子组件 调用、触发父组件中的方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 我发现了两种写法。 方法一&#xff1a; 子组件&#xff1a; <template><button click"submit">提交</but…

新手必看一位老司机的十年开车经验

今天&#xff0c;小编为大家收集整理了一个老司机的十年开车经验&#xff0c;新手们一定要学哦&#xff0c;因为这种宝贵的开车经验是我们以后开车过程中每天都要用到的常识。将来无论在什么时候&#xff0c;这种宝贵经验都会给我们带来更安全的行车时光。新手必看的十年开车经…

Protobuf使用

Protobuf使用 github地址 目录 proto3的更新定义协议格式编译protobufprotobuf_API 枚举和嵌套类标准消息方法解析和序列化 写一条消息阅读消息编译Protobuf扩展优化高级用法 proto3的更新 在第一行非空白非注释行&#xff0c;必须写&#xff1a; syntax "proto3&…

大佬(概率期望DP)

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

vue 父组件 调用 子组件的方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 我们都知道通过$ref可以获取到某个DOM&#xff0c;但是它也可以用来获取子组件的实例&#xff0c;调用子组件的方法 例&#xff1a; 子…

新手开车13招技巧

开车是一个靠经验积累技术的过程&#xff0c;新手们往往会在开车时遇到很多问题&#xff0c;我们用本篇文章和新手讲述开车的各种技巧&#xff0c;希望每个新手都能从中受益。第1招技巧&#xff1a;上车前要先看车  上车前绕车转一圈&#xff0c;看车的外况、轮胎、车底下有没…

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

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

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

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

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

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

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

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

如何配置一个Oracle服务

1、网络服务名&#xff1a;即填写OracleTNS的值&#xff0c;如OracleTNSorcl_192.168.1.125&#xff0c;填写orcl_192.168.1.1252、主机名&#xff1a;192.168.1.1253、服务名&#xff1a;orcl4、测试成功即可。 转载于:https://www.cnblogs.com/dengshiwei/p/4258719.html