C++
文章平均质量分 76
爱你是长久之计~
这个作者很懒,什么都没留下…
展开
-
算法合集:四大经典排序(选择、插入、冒泡、希尔)算法原理及其C++代码实现
选择排序就是每次从无序序列中选择无序序列的最大(小)的元素,与无序部分的最后一个(第一个)进行互换位置,这样使得每趟排序都能确定一个元素的绝对位置,执行n次后,得到一个完全有序的序列。原创 2023-03-24 00:02:33 · 182 阅读 · 0 评论 -
Qt控件的装饰器:QSS选择器、伪状态简介
看这个名字,就能知道QSS与CSS之间的是儿子和老子的关系,两者都起到对界面中各控件(元素)装饰美化的一个作用,在选择器、伪状态、声明语法上,QSS是CSS的一个子集。可以这么理解,有了CSS的基础,只需要简单了解一下QSS的组成即可。...原创 2022-08-16 14:27:01 · 2196 阅读 · 0 评论 -
C++面向对象基础:访问权限、三种继承权限详解
继承是面向对象中十分重要的一个概念,通过继承可以对很多有某种共性的事物进行抽象。许多课程中介绍继承,都会用父子关系来叙述几个类之间的关系,但这种描述并不能很好解释继承的真谛。基类的设计,应该是对具某类事物属性与方法的抽象;子类继承自基类,应当继承的是基类的基本功能,并且应该要有自己独特的属于与方法。两者直接是一种派生关系,在模仿的基础上有自己的特点,而不是单纯的属于关系。有一种动物叫做骡子,驴与马结合所生,骡子既不是马也不是驴,但它结合了两者的很多特点。...原创 2022-08-09 01:11:18 · 2589 阅读 · 3 评论 -
Linux服务器开发(基础篇):聊天服务器1.0版本实现
在中,笔者讲解了与socket编程相关的一系列常用函数的功能与参数,在本节中,我们一起来实现一个简单的聊天服务器,来加深对socket编程的理解。原创 2022-07-26 23:05:20 · 311 阅读 · 2 评论 -
Linux服务器开发(基础篇):网络编程相关函数详解
那啥是网络套接字呢?简单来说,它由三个部分组成对方IP地址、使用的传输层协议(TCP或UDP)和端口号。其中IP地址能唯一标识出全球网络中联网了的一台主机,传输层协议是指通信双方以哪种数据传输的方式进行数据交互,端口号能代表是哪个程序(其实这里应该是进程)在进行通信。打个比方,IP地址代表了一对小情侣双方的家庭住址,通信双方代表了他们去对方家里时的交通方式,端口号则代表了这对小情侣,这样小情侣在串门的时候就不会走错,也不会找错恋爱对象了。创建套接字并返回文件描述符参数含义domain参数含义。.......原创 2022-07-24 16:51:13 · 230 阅读 · 0 评论 -
设计模式之单例模式
单例设计模式的作用在于让某个类仅产生一个实例对象,且提供该对象的功能接口给使用者。它有多种实现方法,但最核心的思想不外乎三点(1)构造函数私有化(2)获取接口静态公开化(3)唯一实例静态私有化这里讲解一下这三点的作用(1)让外部使用者不能够产生额外的实例对象(2)由于外部不能产生额外的实例对象,因此不能在获取到实例对象之前,访问到类的任何接口,而调用static方法不需要产生实例,所有需要提供一个公共的static方法来让用户获取实例对象(或产生实例对象并返回)。...原创 2022-07-24 11:32:03 · 639 阅读 · 0 评论 -
设计模式之工厂模式
工厂模式能够做到几乎不修改代码就能新增同类功能,相比于简单工厂而言,二者对于功能类的处理是一致的,抽象出功能的变化进行封装,对于工厂类则是将判断逻辑给拆分成具体的工厂类,由具体的工厂类再来产生具体的功能类对象,工厂模式具体的使用场景为对于某个需求,调用者(使用者)知道自己需要使用哪个具体工厂来提供服务,就只需实例化该工厂,产生具体对象提供服务。.........原创 2022-07-23 12:23:29 · 248 阅读 · 0 评论 -
设计模式之简单工厂模式详解
在很多情况下,在实现多个同类但不一样的功能时,我们需要通过判断来产生不同类的具体实例对象,进而来实现不同的功能。上述程序能完美实现四则运算,代码也很简单。但有个很大的问题,main函数的地位相当于客户端,客户端逻辑上应当使用各种功能接口而无需知道其内部具体实现,不该让客户端模块中出现多种功能的具体实现。比如你去餐厅吃饭,餐厅提供给你的接口应当为点菜、吃饭、付钱,这几个功能内部的逻辑修改后,并不会影响客户的用餐流程;而不应该是吃什么菜、菜要几百克、菜怎么炒、放一勺盐还是两勺、你要多大的餐具等等。......原创 2022-07-22 11:13:14 · 751 阅读 · 0 评论 -
Qt顶级父类QObject详解
在部件类的继承关系树上,QObject与QPaintDevice两个类位于最顶端。其中,QObject的核心功能就是提供了信号和槽机制,最为主要的是使对象间能无缝通信,而且QOject还在Qt中提供了基础的定时器的支持,所有使用了信号和槽或属性的类,都需要包含Q_OBJECT这个宏(在原生C++版的QT中建议都加上,在pyqt中不需要,因所有部件类的顶级父类QWidget继承自QObject);而QPaintDevice则提供了一些绘图功能,其虚函数由QWidget、QImage、QPixmap、QGLPi原创 2022-07-12 11:25:12 · 1122 阅读 · 0 评论 -
浅谈设计模式六大原则
文章目录前言一、设计模式是什么?二、设计模式六大原则1.开闭原则(总原则)2.单一职责原则3.依赖倒转原则4.里氏替换原则5.接口隔离原则6.迪米特原则总结前言编程不仅是一门技术,更是一门艺术,任何经努力思考后码出的Code,虽达不到如Nginx这等史诗级别框架的艺术高度,但对创作者而言,是甜于甘露的。一、设计模式是什么?将一个人的编程能力类比于武侠小说中武者的功夫,那么学会一门编程语言代表着你已经有了成为绝世高手的体魄基础(能敲代码);学习了算法,能让你在比武之时,用更少的内力做更多的事(用更原创 2022-04-02 00:34:00 · 295 阅读 · 0 评论