
C++
文章平均质量分 82
c++永恒的话题
河西石头
二十年如一日
展开
-
c++递归与二叉树的实现及三种遍历的应用
介绍二叉树的基本概念、递归思想和代码实现。详细对比双向链表和二叉树的区别,强调二叉树作为层级式数据结构与双向链表线性结构的不同,以及栈、队列等其他数据结构的特点。强调递归思想的核心要点,如终止条件的确定、问题的分解和子问题的求解。总结前序、中序、后序遍历的区别和各自适用场景,明确是根据对根节点数据成员的访问顺序来命名的。总结二叉树在游戏开发中的应用场景和作用。原创 2025-02-05 18:25:16 · 639 阅读 · 0 评论 -
双向链表在系统调度、游戏、文本编辑及组态方面的应用
在编程的奇妙世界里,数据结构就像是一把把神奇的钥匙(前面我们介绍过单向链表的基础了,这里我们更进一步),能帮我们打开解决各种问题的大门。今天,咱们就来聊聊其中一把特别的钥匙——双向链表。双向链表和普通链表相比,每个节点不仅有指向下一个节点的指针,还有指向前一个节点的指针,这就好比给它装上了“前后眼”,在很多场景下都能大显身手。接下来,我们通过双向链表在系统管理、游戏、文本编辑及组态软件中的应用,并给出示例代码。原创 2025-01-27 11:18:13 · 640 阅读 · 0 评论 -
用Devc++与easyx一步一步做游戏[启动界面部分]-解决hover闪烁问题及优化
在之前的博文中,我们利用Devc++和easyx完成了游戏启动界面按钮的基本制作,实现了按钮的绘制以及鼠标悬停时的信息提示功能。然而,目前还存在一个问题,即鼠标移动时,提示文字会出现闪烁现象,有很多童鞋在阅读后都表示出了兴趣。这篇博文我们就来解决这个问题并对代码进行优化。原创 2025-01-26 13:08:05 · 688 阅读 · 0 评论 -
c++的容器和适配器究竟有什么差别?
到这里,我们应该已经清楚容器的特征,再次强调,我所总结的容器应该默认为标准容器也就是STL库中包涵的容器。它具备以下特征:1、支持不同类型的数据存储,且支持迭代访问,包括对元素的高效访问。2、必须有同意的接口或者称为方法实现对元素的操作。3、可以动态自动的对容器的内存进行管理(而原生数组不可以)。4、标准容器必须是模板类,可以灵活的进行扩展。原创 2025-01-25 12:52:21 · 1015 阅读 · 0 评论 -
全面介绍c++中for的使用
在 C++ 编程里,for循环是极为常用的控制结构,大都是在我们初学编程语言的时候最早学习的基础内容,它能让代码依据特定条件重复执行。但初学的时候我们一般不会很全面的来学习它的用法,最常见的就是学习了for循环的传统用法。其实for还有其他的典型用法能够给我们的编程带来便利。这里我会全方位介绍 C++ 里for循环的各类使用方式,还会搭配实例代码便于大家更好的理解。原创 2025-01-24 10:59:08 · 1592 阅读 · 0 评论 -
链表的设计与指针的理解
内存访问的字节数和解析方式不同虽然指针存储的都是内存地址,但不同类型的指针在解引用时,编译器会根据指针的类型来确定要访问的内存字节数和解析方式。例如,在32位系统中,一个int类型通常占4个字节,一个char类型占1个字节。如果有一个整型指针int *p,当执行*p(解引用操作)时,编译器会从p所指向的地址开始读取4个字节,并按照整型的存储格式(如补码等)将这4个字节解析为一个整数。而如果是字符型指针char *q,当执行*q时,只会读取1个字节。指针运算的差异指针类型也会影响指针的算术运算。原创 2024-12-05 13:12:31 · 614 阅读 · 0 评论 -
树结构的介绍及实现的几种方法
上述的代码展示了二叉树的不同存储和遍历实现方式,在实际应用中可以根据具体的需求和场景选择合适的方法,并且可以进一步扩展功能,比如对更复杂的二叉树结构进行操作以及处理不同的遍历应用场景等。使用队列和vector来实现二叉树也是我们常用的方式。模拟完全二叉树的存储来进行简单说明。这里以一种特殊情况,比如用。原创 2024-12-05 13:11:24 · 1078 阅读 · 0 评论 -
c++中的内联函数inline友元函数friend和仿函数类
在C++的魔法世界里,有三种“超能力”:内联函数inline、友元函数friend和仿函数类。它们各具特色,但都拥有让代码更加优雅和强大的魔力。最近有同学开始使用友元函数来实现重载,既然这样,今天,我们就将他们三个的优缺点和使用时的注意点一起来复习一下。原创 2024-07-27 22:54:48 · 795 阅读 · 0 评论 -
c++操作符重载
容器对象list和vector使用时遇到find函数报错,那么问题的最终解决方案在操作符重载,这里就顺便将操作符重载的相关内容都详细介绍一遍,并给出实例代码原创 2024-07-26 20:29:14 · 1222 阅读 · 0 评论 -
c++随机数生成进阶random与随之种子生成器的使用
生成指定范围内的真随机数,使用random函数和random类的区别,随机数种子的使用。原创 2024-02-08 17:27:39 · 4399 阅读 · 0 评论 -
c++中的char[] ,char* ,string三种字符串变量转化的兼容原则
本文仅通过字符串的char[] ,char* ,string三种不同存储方式和转化方法来阐释变量之间转化时的兼容原则。原创 2024-02-04 17:02:46 · 1806 阅读 · 0 评论 -
c++中使用ifstream对文件按照行间隔或者符号间隔来读取
本文旨在介绍按照行间隔、空格间隔、符号间隔的方法文本的读取的方法原创 2024-02-04 23:25:53 · 2187 阅读 · 0 评论 -
在visual studio 2022 C++中配置最新版OpenCV和可能错误解决方案
四步搞定opencv的c++环境配置,一步一步搞定c++中的opencv环境配置原创 2023-03-17 22:10:43 · 3637 阅读 · 2 评论 -
无法打开源文件 ctype.h和.exe 进行写入
无法打开源文件 ctype.h解决方案和.exe 进行写入解决方法原创 2023-03-17 19:16:08 · 3938 阅读 · 4 评论 -
解决Visual C++ Redistributable安装找不到vc_runtimeMinimum_x86.msi最简单办法
安装软件是要求安装Visual C++ Redistributable支持包,但遭遇找不到vc_runtimeMinimum_x86.msi,这里我将快速的解决方案发出来,希望帮助到大家原创 2023-03-03 12:12:02 · 16595 阅读 · 8 评论 -
C#通过SendMessage消息来发送接收文本消息设定控件text
InteropServices,SendMessage,COPYDATASTRUCT,Marshal,AllocCoTaskMem,StructureToPtr详细介绍,全面详细的介绍消息发送函数发送附加消息和接受附加消息的过程。原创 2023-02-08 13:25:46 · 4379 阅读 · 0 评论 -
零基础开始QT绘图(3)
mousePressEvent、mouseMoveEvent、mouseReleaseEvent利用Painter、Pen、Brush、QFont的四个对象进行绘图的基本用法,接下来,我们来实战一次,接下来的两篇教程我们来做一个很简单的绘图板小项目。我们要实现的功能主要两点:一、可随意涂鸦,二、可以保存我们涂鸦的作品。在这前,我们要解决一个问题,那就是如何使用鼠标事件来绘制图形。一、掌握鼠标事件的实现利用鼠标绘图,我们必须首先了解三个鼠标事件,mousePressEvent、mouseRele...原创 2018-12-16 14:27:24 · 2515 阅读 · 4 评论 -
QT实现自定义控件之控件代理--comboboxDelegate
comboboxDelegate,QT实现自定义控件之控件代理源码,自定义comboboxDelegate的实现原创 2023-02-07 17:37:17 · 2897 阅读 · 0 评论 -
使用setfilter实现查询
setfilter在许多的IDE中都已经支持了,QT也不例外。在操作数据库中QSqlQueryModle,QSqlTableModle都对齐进行了支持。那么我们可以用它来实现过滤查询。一、完全匹配查询1、普通字符串查询普通字符串,当使用参数的时候必须注意在参数前后加上单引号:tmodel->setFilter(QObject::tr(“dCode=’%1’”).arg(str));...原创 2019-10-20 15:15:48 · 9847 阅读 · 2 评论 -
VS2017中GDI+绘图轻松入门(3)
看过前两篇GDI+绘图入门博文的小伙伴可能会有提出新的需求,我们想把我们所绘制的图形保存起来,省得每次进到我们的程序中又要重新开始画。对于这个需求,GDI+在设计的时候早就考虑进去了,所以它还有第三种绘图方式,那就是通过一个图片文件绘图。当然,这个图片文件可以是你现场创建的,也可以是早就存在的一张图片,能够通过图片来创建一个Graphic对象绘图,一定是个很好的体验,比如,我是一个摄影爱好者,我...原创 2018-12-23 14:42:26 · 2451 阅读 · 2 评论 -
闲话链表的诞生以及它与数组亲缘关系的故事
数组、动态数组、链表,数组的访问,链表的产生,链表元素和指针,数组动态数组和链表的关系原创 2023-01-30 16:36:07 · 490 阅读 · 0 评论 -
用Devc++与easyx一步一步做游戏[启动界面部分]-之按钮制作
用Devc++与easyx一起做游戏,按钮绘制,按钮封装,按钮与鼠标响应,图形闪烁问题。原创 2023-01-29 09:40:13 · 14072 阅读 · 0 评论 -
为tableview添加带控件的单元格如复选框checkbox与combbox单元格
在表格tableview中实现复选框,下拉框,最简单快速方案,中文读取乱码问题的解决方案。配有源代码下载。原创 2023-01-24 22:01:45 · 4029 阅读 · 0 评论 -
利用自定义QThread实现自己的QTimer
最简单的自定义QThread的实现,实现QTimer的功能,倒计时器的实现downcounter原创 2023-01-28 23:24:56 · 405 阅读 · 0 评论 -
connect中使用lamda表达式来实现带参数效果的连接[QTimer倒计时器实例]
倒计时器,棋牌倒计时,QTimer的使用实例,QT中connect槽函数使用lamda表达式原创 2023-01-22 00:00:12 · 754 阅读 · 0 评论 -
QT动画实例代码QPropertyAnimation的应用
QPropertyAnimation,AnimationGroup,QParallelAnimationGroup:并行播放组类QSequentialAnimationGroup:串行播放组类原创 2023-01-20 21:49:45 · 2804 阅读 · 2 评论 -
QT当类有多个不同类型的同名信号时如何处理QOverload?
QOverload::of与static_cast,QT信号重载,多种版本的信号如何与槽匹配,progressBar配合QTimeLine使用原创 2023-01-19 09:59:37 · 2184 阅读 · 1 评论 -
QT下的串口通讯实例(源码可下载QT5下测试通过)
在不了解QT下的串口如何调用的时候,我们可以首先到QT的官网上寻找答案,首先,我们可以访问:以下网址,搜索serial port qt,可以得到很多相关的线索http://doc.qt.io/这个QSerialport类十分丰富,比VC中的使用起来更方便,如下网址,我们可以查看它的所有成员http://doc.qt.io/qt-5/qserialport-members.html相关的...原创 2018-11-13 16:36:15 · 2809 阅读 · 2 评论 -
纪念QT可直接安装的离线版最后版本5.14.2
QT可直接安装的离线版,离线版最后版本5.14.2,安装注意事项,No valid kits foundot read /.qmake.stash: No such file or directory原创 2023-01-15 19:03:05 · 15271 阅读 · 5 评论 -
QT中矩形操作中QMarginsF[QMargins]的使用与QRectF的adjusted的对比
快速内缩或者外扩矩形QRect的好方法QmarginsF提供的marginAdded和marginRemoved,adjust,adjusted原创 2023-01-15 14:21:09 · 1985 阅读 · 0 评论 -
零基础开始QT绘图(6)
做一个自己喜欢的选择样式原创 2023-01-14 19:05:28 · 834 阅读 · 0 评论 -
QT中控件不满足要求那么为你的控件做“提升”吧
QT控件的快速实现方法及注意事项。原创 2023-01-12 08:13:09 · 4170 阅读 · 0 评论 -
在QT设计器中如何为普通的widget添加菜单和工具栏
QT中在设计器中如何为普通的widget添加菜单和工具栏,QT中如何可视化添加菜单栏工具栏。UI文件的层级解析原创 2023-01-11 16:36:23 · 8385 阅读 · 2 评论 -
QTextDocument的使用方法及几种初始化方式
QTextDocument的使用条件以及它的初始化和常规操作原创 2023-01-10 10:24:32 · 3868 阅读 · 0 评论 -
为dev c++配置图形开发环境easyx之mingw32
easyx官网的配置说明不详细 dev c++ 5.1版本后内置的编译器大多为32位的mingw gcc 32的编译器,这给我们的配置增加了麻烦,那么我们如何配置32位编译器的dev c++的easyx环境呢?其实大体步骤和前面的博文基本一致,但有细节的差别。原创 2022-11-28 10:52:21 · 2870 阅读 · 2 评论 -
dev c++Easyx绘图(再谈环境配置中遇到的问题)
dev c++中配置easyx遇到的错误以及解决方案。原创 2022-11-26 18:24:52 · 2792 阅读 · 2 评论 -
为dev c++配置图形开发环境easyx之mingw64
easyx是专门为c++提供图形开发的类库套件,但配置到dev c++上有的时候不太好配置,这里完整详细的给大家介绍了配置方法。这里的配置版本是dev c++ 6.7.5,如果想运行成功,尽量安装这个版本。原创 2022-11-23 12:01:16 · 6469 阅读 · 5 评论 -
QT中sqlite插入记录中自增长字段的创建和错误处理
很多表中的我们需要一个自增长字段,这个字段有的时候还是主字段,这些自增长字段往往给我们的记录的插入操作带来某些困难。这里从自定义字段的创建、插入、已经插入时的注意事情和遇到的错误系统的来说一说。原创 2022-10-25 07:43:50 · 3312 阅读 · 0 评论 -
QT右键菜单的建立步骤
右键菜单在一个项目中是必不可少的组件,在QT中的使用可能要比VS中使用复杂一些,尤其在QT中貌似只能用代码来实现。所以我们把建立右键菜单和绑定对应的事件,也就是从建立到使用逐步介绍给大家。原创 2022-10-24 08:33:30 · 1973 阅读 · 0 评论 -
使用devcpp遇到的常见错误解决方法
1、启动devcpp时总出现 could not open language file English.lng这个问题可能有两种情况造成第一,在lang文件夹中的确缺少这个 English.lng文件,网上找一份,拷贝进去即可第二,可能是在环境设置中没有将目录设置正确2、dev recipe for target ‘main.o’ failed不要一见到这个问题就以为是主文件编译出问题了,这里可以有很多的问题。常见的有第一,头文件包涵不对,找不到头文件,或者头文件的尖括号和双引号用错了(双引原创 2022-08-31 08:42:28 · 6468 阅读 · 0 评论