- 博客(33)
- 收藏
- 关注
原创 Qt技术|#1.窗口与按钮#
一个按钮其实就是一个QPushButton类的对象;btn->setText("德玛西亚");QPushButton需要依赖父窗口。
2024-11-25 11:42:56
220
1
原创 基础知识|C++|指针、引用、右值、右值引用
在 C++ 中,引用(Reference)是一种特殊类型的变量,它充当另一个变量的别名。引用在声明时必须被初始化,并且一旦初始化后就不能改变引用的对象。引用通常用于传递大对象作为函数参数,返回多个值,或者作为类成员的替代品。下面详细介绍引用的概念和用法。在 C++ 中,右值(R-value)是指表达式或对象在赋值操作中的右侧部分。右值通常代表一个临时值或一个即将消亡的对象。右值可以分为两种主要类型:普通右值和将逝右值(Xvalue)。
2024-08-22 11:07:34
1979
原创 基础知识|C++|内存泄漏与资源管理机制
内存泄漏(Memory Leak)是指程序中已分配的内存未被及时释放或无法释放,导致这部分内存无法被再次使用的情况。在程序运行过程中,如果持续不断地发生内存泄漏,最终可能导致可用内存耗尽,从而影响程序的性能甚至导致程序崩溃。
2024-08-21 16:43:46
1592
原创 Qt技术|Mudbus TCP的使用示例
Modbus TCP 是 Modbus 协议的一个变种,它利用 TCP/IP 网络协议来传输 Modbus 消息。Modbus TCP 是一种广泛应用于工业自动化领域的通信协议,特别适用于远程监控和控制系统之间的数据交换。
2024-08-21 15:14:19
1916
1
原创 基础知识|C++|封装、继承、多态
(又叫隐藏,指的是在继承关系中,子类实现了一个和父类名字一样的函数,(只关注函数名,和参数与返回值无关)这样的话子类的函数就把父类的同名函数隐藏了。隐藏只与函数名有关,与参数没有关系.)来实现的。
2024-08-21 13:26:14
2166
原创 题解 |栈| #中缀表达式求值!!!!#
请写一个整数计算器,支持加减乘三种运算和括号。数据范围:0≤∣s∣≤1000≤∣s∣≤100,保证计算结果始终在整型范围内要求:空间复杂度: O(n)O(n),时间复杂度 O(n)O(n)输入:"1+2"返回值:3输入:"(2*(3-4))*5"返回值:-10输入:"3+2*3*4-1"返回值:26。
2024-08-21 10:47:06
384
原创 计算机网络|拥塞控制
拥塞控制算法通过监测网络状况(如丢包率、延迟变化等)来调整发送端的数据发送速率,以维持网络的稳定性和高效性。常见的拥塞控制算法包括慢启动 (Slow Start)、拥塞避免 (Congestion Avoidance)、快速重传 (Fast Retransmit) 和快速恢复 (Fast Recovery)。
2024-08-20 11:45:45
593
原创 计算机网络|五层网络模型
(1)对不同种类的应用程序它们会根据自己的需要来使用应用层的不同协议,邮件传输应用使用了SMTP协议、万维网应用使用了HTTP协议、远程登录服务应用使用了有TELNET协议。:作为TCP/IP协议的第二层,运输层在整个TCP/IP协议中起到了中流砥柱的作用。为了方便理解网络结构逻辑,产生了五层网络结构的知识体系,本质上就是将TCP/IP的网络接口层拆分成了数据链路层和物理层。:网络层在TCP/IP协议中的位于第三层。:应用层是TCP/IP协议的第一层,是直接为应用进程提供服务的。
2024-08-20 11:19:33
637
原创 基础知识|#进程通信与线程通信#
本质上是一个计数器,当使用共享内存的通信方式时,如果有多个进程同时往共享内存中写入数据,有可能先写的进程的内容被其他进程覆盖了,信号量就用于实现进程间的互斥和同步PV操作不限于信号量+-1,而且可以任意加减正整数(管道分为匿名管道和命名管道,管道本质上是一个内核中的一个缓存,当进程创建管道后会返回两个文件描述符,一个写入端一个输出端。例如,在生产者-消费者问题中,P和V操作可以用来控制对缓冲区的访问,确保生产者不会在缓冲区满时写入数据,消费者不会在缓冲区空时读取数据。进程通信和线程通信都好用的通信方式。
2024-08-19 17:51:18
743
原创 基础知识|#进程调度算法#
1. 先来先服务 (First-Come, First-Served, FCFS)描述:按进程到达的顺序进行调度。 优点:实现简单。 缺点:可能导致长进程剥夺短进程的执行机会。2. 短作业优先 (Shortest Job First, SJF)描述:总是选择剩余运行时间最短的进程进行调度。 优点:减少了平均等待时间。 缺点:可能引起饥饿,即长进程始终得不到执行。3. 最短剩余时间优先 (Shortest Remaining Time First, SRTF)描述:SJF 的非抢占版本
2024-08-19 17:03:31
428
原创 基础知识|C/C++|#静态库与动态库#
静态库适合于不需要频繁更新的库,并且可以接受较大的可执行文件大小。动态库适合于需要频繁更新的库,并且可以减少最终可执行文件的大小。
2024-08-19 16:30:52
789
原创 基础知识|C++|面试|#C++空类的大小,含有虚函数的类的大小#
C++的编译器一旦发现一个类型中有虚拟函数,就会为该类型生成虚函数表,并在该类型的每一个实例中添加一个指向虚函数表的指针。所以,空类的sizeof为1,而不是0.本文中所说是C++的空类是指这个类不带任何数据,即类中没有非静态(non-static)数据成员变量,没有虚函数(virtual function),也没有虚基类(virtual base class)。此时,类A和类B都不是空类,其sizeof都是4,因为它们都具有虚函数表的地址(32位系统指针4字节,64位系统指针8字节)。
2024-08-19 13:01:45
692
原创 基础知识|C++|面试|#32位机与64位机指针占用空间不同#
32为机上:sizeof(char*)=sizeof(int*)=sizeof(short*)=sizeof(long*)=4。64位机上:sizeof(char*)=sizeof(int*)=sizeof(shor*)=sizeof(long*)=8。32位机 sizeof(int*)=4, sizeof(int)=4。64位机 sizeof(int*)=8, sizeof(int)=4。sizeof(int)指的int占用的字节数,字节数为4.
2024-08-19 11:20:27
197
原创 题解 |栈| #逆波兰表达式求值#
逆波兰表达式(Reverse Polish Notation, RPN),也称为后缀表达式,是一种没有括号、运算符位于操作数之后的数学表达式表示法。逆波兰表达式的主要优点是它不需要使用括号来指示运算顺序,可以直接通过一个栈来解析和计算。
2024-08-15 14:54:04
1700
原创 题解 | 栈|#栈的压入、弹出序列#
验证弹栈操作就一定会有压栈的动作,总操作数量为序列长度的两倍,循环不需要考虑是否弹栈成功,只需要按照顺序弹栈的最终结果时弹栈序列遍历结束且栈空即可。这个题目时验证弹栈顺序是否正确的,我们只需要验证这个弹栈顺序是否能把栈弹空即可。
2024-08-15 13:04:07
273
原创 题解 | 栈|#【模板】实现一个栈的完整操作#
栈需要有“栈顶指针”,压栈push操作,出栈pop操作,取栈顶top操作,注意压栈、出栈”栈顶指针“变化,注意出栈和取栈顶要判断栈空。
2024-08-15 09:54:11
182
原创 题解 | 查找|#寻找峰值#有时间复杂度限制的-O(logN)-二分查找
2.数组长度超过2的使用上下限限定二分范围,并使用上下限位置的斜率(有效方向,即左限的右侧斜率,右限的左侧斜率)判断峰值是在右半还是左半。1.注意临界值,数组长度为0,1,2的提前处理。这个题目有时间限制,需要使用二分法进行操作。
2024-08-14 17:55:50
206
原创 题解 | 链表操作|#单链表的排序#*有时间限制的*
如果没有时间限制则使用插入排序进行的逻辑最简单,但是此题目限制了时间,于是我使用了一种投机的方法进行实现。将数据取出来使用库函数实现。
2024-08-12 15:16:36
263
原创 题解 | 链表操作|#判断链表中是否有环#
同时在存一个节点之前查询vector里面是否已经存在了这个节点,若出现了第一个重复节点则返回,若不出现则继续向vector内存储,直到出现重复或遍历完链表。一开始我陷入了思维误区,认为要使用循环来寻找重复节点、没有想到怎么存储这些节点、我惯性的认为节点就得用链表存,但是链表存起来若有循环该如何结束呢。随后想到使用vector,只需要存储这个节点就可以了,这个节点所连接的的链表就算有循环也是地址的指向循环,不会出现无限扩张的内存占用。
2024-08-09 14:42:04
221
原创 题解 | 链表操作|#合并k个已排序的链表#
两个有序链表合并的拓展,将k个链表逐个进行合并,虽然耗费资源较多但逻辑简单。注意考虑遍历完所有链表。
2024-08-09 13:47:27
262
原创 题解 |链表操作| #合并两个排序的链表#
有序链表的有序合并,将右侧链表元素逐个制作副本向左侧链表插入即可,注意考虑如何解决插在第一个和插在末尾的情况即可。
2024-08-09 13:29:49
219
原创 基础知识|C++|#C++的继承与权限#
protected:子类继承的:private,protected不变 ,public降为protected。private:子类继承的 :public、protected 降为private。protected:类内部和子类可以访问。private:只有类内部可以访问。public: 子类权限保持不变。public: 类外部可以访问。
2024-08-07 16:54:34
257
原创 |环境配置|#Windows QT creator + MSVC2017 64bit 环境#
07、最终出现如下界面(已经安装的组件是已经选中的,如果需要卸载可以取消选中,也可以将自己需要的组件添加选中进行安装),点击下一步,然后等待安装完成。若上面链接失效的话,可选择清华大学开源软件镜像网站,照样选择相应QT版本添加网址。03、选择资料档案库→临时资料档案库→添加→填写地址(正对资料档案库那栏)如果弹出的是成功的话,则说明复制的地址是有效的,这时再点OK回到原来的界面。一定要根据自己QT的版本进行选择,然后将对应的网址复制下来即可。06、选中添加或者移除组件,点击下一步,耐心等待。
2024-08-07 16:31:15
1328
2
原创 题解 | 链表操作|#删除有序链表中重复的元素-II#
需要两个移动指针,一个带领连接点进行连接,一个负责寻找不重复点。需要一个头指针指明链表开始节点。
2024-08-07 10:50:39
323
原创 题解 | 链表操作|#链表内指定区间反转#链表内指定区间反转
在本题中我将需要反转的部分(m(包含)至n(不包含))的链表部分扯出备用,将n为起点的链表链接在m原来位置,随后将前面扯出的链表逐个单元插入到n单元后面,则实现了链表区间反转。这个题目是链表的操作,有很多指针可以提供给我们使用。
2024-08-07 10:47:19
353
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅