C/C++
文章平均质量分 75
我中意你呀丶
这个作者很懒,什么都没留下…
展开
-
【QT项目-天气预报】
/ 重写父类的eventFilter的方法// 绘制高低温曲线// 绘制高温曲线// 绘制低温曲线使用方法将当前窗口对象MainWindow作为事件过滤器安装到和上。方法是QObject类的方法,用于安装一个事件过滤器。事件过滤器可以监视和处理指定对象的事件。通过将当前窗口对象作为事件过滤器安装到和上,可以在MainWindow类中的eventFilter方法中对这两个对象的事件进行处理。//参数指定为this,也就是当前窗口对象 MainWindow。原创 2023-08-17 13:38:35 · 688 阅读 · 1 评论 -
C++————模板进阶
提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了模板的使用,最主要还是要视情况去使用,不然可能用的时候很容易出错。原创 2023-07-21 21:29:34 · 63 阅读 · 1 评论 -
C++————stack_queue适配器
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考下面是关于queue和stack:将元素添加到优先队列中。pop():移除队首元素。top():访问队首元素。empty():检查优先队列是否为空。size():返回优先队列中元素的个数。queue:将元素添加到队列的末尾。pop():移除队列头部的元素。front():访问队列头部的元素。back():访问队列末尾的元素。原创 2023-07-21 17:28:32 · 48 阅读 · 1 评论 -
C++————list的模拟实现
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。原创 2023-07-20 19:29:14 · 32 阅读 · 0 评论 -
C++————vector的模拟实现
2、插入数据空间不够需要增容。增容需要开新空间、拷贝数据、释放旧空间,会付出很大的代价。1、支持下标的随机访问。间接的就很好的支持排序、二分查找、堆算法等等。1、头部和中部的插入删除效率低。0(N), 因为需要挪动数据。1、list头部、中间插入不再需要挪动数据,效率高。所以实际使用中vector、list相辅相成的两个容器。2、list插入数据是新增节点,不需要增容。1、不支持随机访问。原创 2023-07-18 16:45:01 · 52 阅读 · 1 评论 -
C++———string类
c++中有很多语法,不知道的可以在这个网站查询:https://cplusplus.com/原创 2023-07-15 18:00:17 · 83 阅读 · 1 评论 -
C++——STL简介
STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。原创 2023-07-15 11:16:17 · 55 阅读 · 1 评论 -
C++之模板初阶
在C++中如果想要对两个整型数据交换、两个字符型数据交换和两个浮点型数据交换我们是如何实现的:那能否告诉编译器一个模子,让编译器根据不同的类型利用该模子来生成代码呢? 二、模板的分类2.1函数模板 2.1.1函数模板格式 2.1.2函数模板的原理 2.1.3函数模板的实例化1.隐式实例化 —— 让编译器根据实参推演模板参数的实际类型 2.显示实例化 —— 在函数名后的中指定模板参数的实际类型 2.1.4模板参数的匹配原则 2.2类模板2.2.2类模板的实例化原创 2023-07-14 21:32:58 · 27 阅读 · 1 评论 -
C++内存泄漏如何解决
1.工程前期良好的设计规范,养成良好的编码规范,申请的内存空间记着匹配的去释放。ps:这个理想状态。内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而。内存泄漏的危害:长期运行的程序出现内存泄漏,影响很大,如操作系统,后台服务等等出现内存泄漏会导致响应越来越慢,最终卡死。内存泄漏非常常见,解决方案分为两种:1、事前预防型。这套库自带内存泄漏检测的功能选项。,就会导致内存泄漏。原创 2023-07-14 21:17:21 · 177 阅读 · 1 评论 -
C语言和C++中动态内存管理方式
C言内存管理方式在C++中可以继续使用,但有些地方就无能为力而且使用起来比较麻烦,因此C++又提出了自己的内存管理方式:通过new/delete作符进行动态内存管理。malloc是申请一个内存空间,calloc申请一个内存空间并初始化为0,realloc是对已有的内存空间进行扩容。我们发现a用malloc是随机值,而new出来的a调用了构造函数初始化为0了,并且在释放空间的时候调用了析构函数。既然c语言中已经malloc和free,new和delete的意义何在呢?上面内置类型,他们的效果是一样的。原创 2023-07-14 16:21:30 · 35 阅读 · 1 评论 -
C++之内存管理
char2是声明在栈上的字符数组放入abcd+'\0'开了5个字节,所以也存在A(栈)中的,*char2是取地址所以取得是首字符的地址,这个数组存在局部所以也存在A(栈)中的,pChar3是一个指针变量也是一个局部变量所以也存在A(栈)中的,* pChar3中pChar3存的是一个字符串常量的地址,* pChar3指向这个地址的内容,所以* pChar3在D(代码段)中。localvar是声明的局部变量所以存在A(栈)中的,num1是一个局部声明的数组所以也存在A(栈)中的。原创 2023-07-14 15:40:31 · 39 阅读 · 1 评论 -
c++之类和对象知识点全部总结 干 干 干!
拷贝构造函数是构造函数的一种重载形式,它可以用来创建一个与已存在的对象一模一样的新对象。对于拷贝构造,它只有单个形参,且该形参必须是对本类类型对象的引用,因为要引用,所以要加const修饰。2.特征:1.拷贝构造函数的参数若使用传值方式编译器直接报错, 因为会引发无穷递归调用。2.若未显式定义,编译器会生成默认的拷贝构造函数。默认的拷贝构造函数对象按内存存储按字节序完成拷贝,这种拷贝叫做浅拷贝,或者值拷贝。3.编译器生成的默认拷贝构造函数已经以可完成字节序的值拷贝了。class Date。原创 2023-07-13 18:35:44 · 52 阅读 · 1 评论 -
C++中的inline、auto、for(迭代器)、nullptr的便捷用法,你get到了吗?
在早期C/C++中auto的含义是:使用auto修饰的变量,是具有自动存储器的局部变量,但遗憾的是一直没有人去使用它,大家可思考下为什么?在内联函数inline中当程序运行是,内联函数会直接在程序内进行展开,从而减少了堆栈的消耗以达到空间换时间的方法,多次调用会多次展开。在C++98中,字面常量0既可以是一个整形数字,也可以是无类型的指针(void*)常量,但是编译器默认情况下。当没有使用内联函数的时候在运行过程中,走到函数之后会找到函数的声明再对函数进行调用,原创 2023-07-10 09:39:12 · 270 阅读 · 1 评论 -
C++中operator new与operator delete(重要点进行讲解)
operator new 该函数实际通过malloc申请空间,当malloc请空间成功时直接返回;申请空间失败,尝试执行空间不足应对措施,如果改应对措施用户设置了,则继续申请,否则抛异常。new比起malloc一样的地方:1、调用构造函数初始化 2、失败了抛异常 delete比起free一样的地方:1、调用析构函数清理。operator new ==> malloc+失败抛异常实现。全局函数来申请空间,原创 2023-07-14 18:55:02 · 185 阅读 · 1 评论