- 博客(95)
- 收藏
- 关注
原创 0926-27,元对象模型,信号和槽函数,connect函数,事件处理的详细过程,widgets模块
Q_OBJECTpublic:signals://如何设计一个自定义信号//元对象系统 访问权限修饰符signals 返回值void的成员函数,只声明不定义Q_OBJECTpublic://如果设计一个自定义的槽函数//元对象系统 访问权限修饰符public/privated/protected slots//参数和返回值和信号匹配的成员函数 写定义目的是为了——松耦合,实现对象之间的通信但是不需要创建接收方的对象,提高代码的灵活性和可扩展性。
2024-09-29 21:37:32 657
原创 0924-25,QT的数据类型,实现一个井字棋和计算器(只输入)
3,main.cpp 程序的入口函数,包括两个对象,QApplication(事件循环)和MainWindow(主窗口),主窗口包括三个要素,QMainWindow(父类)UI::MainWindow的指针(由UI文件生成的)和其他自定义的数据成员。2,mainwindow,h mainwindow.cpp 主窗口的声明和实现,包括UI元素和信号槽的实现。5,mainwindow.ui ,ui文件,本质是XML文件,一般用设计者模式编辑。里面定义了模块,C++文件,库文件,ui文件。
2024-09-25 21:54:15 762
原创 0915,SOCKET网络编程部分,三种I/O多路复用模型(select ,poll,epoll)
【代码】0915,SOCKET网络编程部分,三种I/O多路复用模型(select ,poll,epoll)
2024-09-20 21:21:14 408
原创 0708,文件流,目录流,MMAP内存映射
/文件描述符是一种整数,用于标识被打开的文件。在操作系统层面,文件描述符是一个抽象的句柄,它指向操作系统内核中与文件相关的数据结构。进程控制块PCB 进程之间共享。
2024-09-18 20:27:44 532
原创 0911,类与类之间的关系,设计原则,工厂模式
1,唯一性2,全局访问3,懒加载4,控制访问(避免外部直接创建,复制优点:满足单一职责,开放关闭,依赖倒置缺点:类的数量随需求急剧上升。
2024-09-12 15:27:09 729
原创 0909,bind函数,std::function & std::bind的回调函数实现
std::bind的实现原理阅读材料01_bind.cc。
2024-09-09 23:24:35 474
原创 0817,STRING ,VECTOR(坏,发现有一天被我遗忘了
String();if(this!=&rhs){//会导致访问空指针,pei~~*/~String(){if(_pstr){private:{}test();return 0;if(this!
2024-09-05 22:27:17 371
原创 0904,关联式容器针对于自定义形式的写法(
emplace_back通常更高效,因为它避免了不必要的复制。 `vector` 的 `push_back` 和 `emplace_back` 函数都是用来在 `vector` 的末尾添加新元素的,但它们之间有几个关键的区别:
2024-09-04 17:40:30 1230
原创 0903,LIST(merge,splice,sort,unique),SET(insert,erase)
提示:加入list的定义如下,list lst= { "hello", "world", "!2 .将student自定义数据类型进行排序,student中属性有姓名、年龄、语文成绩,数学成绩,英语成绩。提示:熟悉list容器与deque容器的基本操作,包括初始化、遍历、插入等等。:按照总成绩sum进行降序,如果总成绩sum相同按照语文成绩进行降序。提示:熟悉list容器的基本操作:包括初始化、遍历、排序等等。提示:熟悉deque的基本函数的使用方式。1 .制作一个学生成绩单管理系统。
2024-09-03 22:08:08 771
原创 0902,DEQUE,LIST,VECTOR
deque的实现依靠 中控器数组Map+小片段实现的,片段内部是连续的,片段与片段之间是不连续的,当deque需要扩容时,直接对Map进行扩容,申请新的小片段(小片段成员包括四个指针,分别指向第一个元素,最后一个元素,当前元素,一个指针用于和Map进行联系)提示:可以定义vector如下:vector vc = { 'H', 'E', 'L', 'L', 'O' };实现上,vector底层通过三个指针实现,分别指向第一个元素的位置,最后一个元素的下一个位置,最后一个空间的下一个位置;
2024-09-03 19:40:26 1308
原创 0816,特殊数据成员/成员函数,对象组织,delete/new,单例模式
0.5 构造/析构/赋值运算符/拷贝构造比较特殊,可以在静态成员函数中调用(这四个函数不能设置为静态成员函数,他们会访问所有的成员对象,但是静态成员函数没有this指针)0.4 静态成员函数中无法直接使用成员名访问非静态的成员,只能访问静态数据成员或调用静态成员(因为没有this指针),但是非静态的成员函数可以访问静态成员。当类中有const成员函数和非const成员函数重载时,const对象会调用const成员函数,非const对象会调用非const成员函数。
2024-08-28 21:01:31 1162
原创 0827,多态
protected://只定义了保护属性的构造函数int _base;public:/* ,_b1(base)//Base 不能作为成员子对象*/private:*///BAse中只定义了保护属性的构造函数,Tset无法调用BASe的构造函数//直接创建或者作为成员子对象都不行//error */test();return 0;B* pb = &c;pb->a();pb->b();pb->c();pb->d();pc->a();pc->b();
2024-08-27 22:16:57 802
原创 0821,友元函数,运算符重载(好好好,
1,将其他类/函数这是为一个类的友元,那么友元类/函数就可以在前一个类的类定义之外访问其私有成员了2,普通函数形式,成员函数形式,友元类3,特点——友元不受类中访问权限的限制(可以访问私有——破坏了类的封装性——不能滥用——单向的(A有B的钥匙,B没有A的钥匙——不传递——不继承。
2024-08-21 16:56:12 1023
原创 0815,析构函数,拷贝构造函数,赋值运算符函数
1,用一个已经存在的同类型的对象来初始化新对象的 构造函数2,类名 (const 类名 & )3,不可以3.1 不可以去掉引用符号(遇到第二种调用时机“形参实参都是对象,用实参初始化形参”的时候,会再一次调用拷贝构造,导致递归调用3.2 不可以去掉const (1,确保右操作数的数据成员不会被改变,2,为了能够赋值临时对象的内容,非const引用不能绑定临时变量)1,用已经创建的对象给另一个对象赋值的时候,会调用赋值运算函数(没有自定义时,系统会提供一个默认版本(浅拷贝版本))
2024-08-16 09:01:14 824
原创 0813,引用,函数重载,内存布局叭叭叭
/宏定义函数,不会检查,只替换(a):(b)(a):(b)}//内联函数//建议替换,(可能不采纳)//更高级的替换,有安全检查机制return x>y?x:y;*/*/*/*///不是哥们,4句话 5个errortest();return 0;A 函数体含有循环语句B 函数体含有递归语句C 函数代码少、频繁调用D 函数代码多、不常调用E 需要加快程序执行速度//函数重载//编译器的名字改变机制将函数的名字改编成了与参数信息相关的名字。
2024-08-13 23:27:43 806
原创 0812,命名空间,const 关键字,new/delete 表达式
命名空间:程序员命名的内存空间,每个名字空间都是一个名字空间域,存放在名字空间的全局实体只在本空间域内有效作用:通过名字空间将内部的实体和其他全局实体分隔开,从而合理的解决命名冲突匿名命名空间:1,匿名命名空间内的实体不能跨模块调用2,如果定义了和空间内实体重名的全局实体,会导致访问冲突(即使加上了::作用域限定符,也只能访问到全局的实体1,发生时机不同const 编译阶段;宏定义 预处理阶段2,类型和安全检查不同宏没有类型,不进行类型检查;
2024-08-12 22:45:53 827
原创 0727,学什么学,周六就应该休息!!!!!
周六就应该休息,一天就忙了两小时也不是我的错喵目录UDP的小总结01:使用select实现一个基于UDP的一对一即时聊天程序。 1.0 复读机服务器和树洞客户端2.0 byby不了一点的敬业服务器!!!今天到此为止!!!!01:使用select实现一个基于UDP的一对一即时聊天程序。 1.0 复读机服务器和树洞客户端2.0 byby不了一点的敬业服务器!!!开心!!!!!!开心!!!!!!!开心!!!!!!! 723的作业会写了喵!!!!!聪明小辉!!!
2024-07-27 19:53:41 322 2
原创 0723,UDP通信(聪明小辉聪明小辉),HTTP协议
HTML 超文本标记语言,对文档进行展示URI/URL 对文档进行定位HTTP 对文档进行传输。
2024-07-23 23:37:14 864 1
原创 0722,EPOLL(开哥还是太全面)
系列函数进行事件驱动的 I/O 多路复用时,需要首先创建一个。搞不懂喵,8081又可以了。在 Linux 中,使用。
2024-07-22 23:25:12 316
原创 0720,socket通信,窗前明月光,窗前明月光
时光机0720:scp username@网址:/dir/filename 本地目录 (caution:windows的黑窗口使用)可恶,为什么看不懂SCP命令要的参数是什么喵。好好好喵,抄过了还是不记得喵。这狗比玩意根本记不住。
2024-07-20 21:30:04 717
原创 0719,sockets编程...好烂的一天~~~怎么会有那么多垃圾知识,你早说啊,我在家多学点
scp xiaohuichen@192.168.235.128:/home/xiaohuichen/homework/嘘月.mp3 F:\WANGDAO1\讲义\LNIUX天使!!!!天使!!!天使!!!万万是天使!!!!!他是天使!!!!!!
2024-07-19 23:05:15 895
原创 0718,TCP协议,三次握手,四次挥手
TIME_WAIT超时丢弃喵四次挥手为了保证绝大多数情况都能顺利完成四次挥手喵(WHY SAID)假设删除情况1:(回复丢失)client-->server ACK ( CLOSED CLOSED) 丢失了喵client 状态CLOSED,server接收不到ACK,重发三次FINserver资源浪费情况2:(消失的他)一个和client五组元信息相同的client_sister。
2024-07-18 23:32:46 1238
原创 0715,线程(喵!顺利的一天,虽然没完全完成,但是学会!)
a, 线程是进程中的一条执行流程,它是CPU调度的最小单位。b, 之所以引入线程,是因为多进程应用存在以下一些限制:进程之间是隔离的,进程之间通信需要打破隔离的壁障,开销比较大。调用 fork()创建进程的代价相对较高。即使利用写时复制(copy-on-write) 技术,仍然需要复制诸如页表 (page table)和文件描述符列表之类的多种属性,开销依然不菲。进程之间的切换,很可能会导致 CPU 的高速缓存(cache)、页表缓存(TLB)失效。
2024-07-17 16:47:14 674
原创 0711,0712,0713 进程,进程之间的通信
孤儿进程:当父进程退出时,它的子进程将成为孤儿进程,孤儿进程将由 init 进程 (1号进程) 收养,并最终由 init 进程完成对它们的终止状态手机工作。僵尸进程:子进程终止,但父进程并没有调用 wait 或 waitpid 收集子进程的终止状态信息,这样的子进程称为僵尸进程。unix提供了一种机制可以保证只要父进程想知道子进程终止状态信息, 就可以得到。这种机制就是: 在每个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存等。
2024-07-14 21:46:27 1050
原创 0704-0710 LINUX 系统编程 学傻了喵~全都不会!
(b) 去中下载最新的 linux 内核源码,通过 scp 命令上传到自己的虚拟机。并用 tar 命令解压。(c) 搜索 Linux 内核源码中,包含调用 exit 函数的所有行。
2024-07-10 23:11:36 601
原创 0627,0628,0629,排序,文件
交换:最好情况,不交换,最坏情况+(n-1)+(n-3)+……+1=n*(n/2)=O(n^2)时间复杂度:比较(n-1)+(n-1)+(n-3)+……+1=n*(n/2)=O(n^2)时间复杂度:比较(n-1)+(n-1)+(n-3)+……+1=n*(n/2)=O(n^2)交换:最好情况,不交换,最坏情况O(n^2)==比较。交换:最好情况,不交换,最坏情况O(n^2)==比较。时间复杂度:最坏,O(n^2) 可以避免,一般情况:O(n^2)一般情况:O(n^2)一般情况:O(n^2)
2024-07-03 17:44:05 835
原创 0617,递归问题(详细——好好好一入递归深似海)
不能在有限的时间内得到正确的结果递归树——有大量的重复结点——重复的树——大量重复的计算思考方式——自顶向下法二:自底向上求解自底向上求解动态规划——算法设计思想,可以将指数级别的算法,优化成多项式级别的思想,——避免重复计算问题假定!上一个问题已经求解0,1,2,3,5……return 1;int i;for (i = 2;i <= n;i++) { //2的时候进入循环t = a + b;//循环不变式——每次进入循环体之前都成立的条件a = b;
2024-06-19 20:34:44 1062
原创 0615, 函数,扔骰子,德州扑克(简易版)
顺子(Straight): 由五张连续数字的牌组成 (简单起见,A-2-3-4-5 不是顺子),但不是同花。如 A-A-A-2-K。四张(Four of a Kind): 四张相同数字的牌,加一张其他数字的牌,如 A-A-A-A-K。葫芦(Full house): 三张相同数字的牌,加上一对其他数字的牌,如 A-A-A-K-K。//同上,数组下标代表数字,++,5同花,4张,3张,2张,遍历一次就行,return结束函数。同花(Flush): 五张同花色的牌,但不是顺子,如红桃 2-5-7-8-K。
2024-06-19 14:19:11 801
原创 0614,表达式,语句
许多简单的交互式程序都是基于菜单的:它们向用户显示可供选择的命令列表;一旦用户选择了某条命令,程序就执行相应的操作,然后提示用户输入下一条命令;程序将为用户提供选择菜单:清空账户余额,往账户上存钱,从账户上取钱,显示当前余额,退出程序。(2) 给你一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。(1) 给你一个 非空整数数组 nums,除了某个元素只出现一次以外,其余每个元素均出现两次。循环内将有语句提示用户输入命令,读命令,然后确定执行的操作。,即十进制的 42。
2024-06-15 16:03:26 1032
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人