- 博客(19)
- 收藏
- 关注
原创 QT 实现简易相册 --- 左右翻页 --- 基于C++ ---> 完整代码
创建一个QLabel用于显示图片,两个作为上下翻页按钮。位置随便放,你开心就行。我这次不用拖拉拽的方式设计界面,我选择用代码手搓按钮。直接在窗口的构造函数中手搓按钮。
2025-03-22 11:54:25
310
原创 C++运算符重载 指北 -----> 静态多态相关
">"是一个二元运算符,但是只有一个参数,原因在于非静态函数中存在隐藏的this指针,只不过省去了而已。以“>”运算符重载为例。
2025-03-05 22:41:57
143
原创 互斥信号量编程题分享 ----> 有一个水果盘,一次只能放一个水果,妈妈买苹果或者香蕉,让儿子和女儿吃水果。儿子只吃苹果,女儿只吃香蕉。
信号量有P操作,V操作,其中P操作为“减”操作,V操作为“加”操作。初始化一个进程间信号量,初始化为1。P操作减去信号量锁死水果资源,儿子或女儿吃完后V操作释放资源。释放资源后妈妈检测信号量是否为1,(1是儿子或者女儿吃完水果后V操作得来的。
2025-02-16 12:55:55
872
原创 linux 多进程(fork())指北 ---> 父进程打印子进程ID,子进程打印父进程ID ---->(编程案例)
fork()函数会返回两个值(返回两次)。第一个值是在父进程中返回子进程的id号。第二个值是在子进程中返回一个整数0。根据以上规则设计程序1.先导入头文件2.新开一个进程fork()3.父进程中返回子进程ID。那怎么进入父进程呢?4.进入子进程打印父进程ID,注意函数不一样。最后完美实现
2025-02-11 14:25:36
287
原创 有名管道 ----> 进程间通信相关(FIFO)(有代码)
例如:Shell 命令中的管道操作(如 `ls | grep .txt`)。- 有名管道:适合任意进程间通信,尤其是无亲缘关系的进程,支持持久化和双向通信。- 无名管道:适合具有亲缘关系的进程间通信,临时任务和单向数据流。- 例如:父进程创建子进程,父子进程通过管道交换数据。- 例如:一个进程写入日志,另一个进程读取日志。- 例如:一个进程生成数据,另一个进程处理数据。- 适用于不同终端或不同用户的进程间通信。- 管道随进程结束而销毁,适合临时任务。- 适用于具有亲缘关系的进程间通信。
2025-02-09 21:05:10
439
原创 PIPE(无名管道)----- 进程间通信相关
A:配合IO(可以是linux系统IO,也可以是标准IO),IO的指针参数对应管道的两端。使用fork()函数创建子进程,父进程把内容写入管道,子进程读取管道内容。A:先创建管道的两个端点(一般是两个整数,作为管道的参数),再创建管道。A:同一个管道,数据只能从一端流向另外一端,不能回流。进水,出水,over。
2025-02-07 22:22:46
297
原创 快速排序_QuickSort_指北
(要排序的话,先要有个数组吧,这个就不说了。快排三大件,1.左指针(left),2.右指针(right),3.标杆元素(mid)1.右边指针先开始找,31大于12,没找到,减地址,一直减。(目的是找到右侧小于等于mid的值,所以判断条件是">=*key",如果大了的话就是真值,就略过,减地址继续寻找小的)right--;2.然后right一直找,找到了,找到了12,直接触发短路跳出。2.left开始找左边,找到34,34直接大于12,找到了,直接跳出循环。left--;
2025-01-17 16:02:11
381
原创 排序典中典之冒泡排序
1.交换元素的时候不使用中间变量,通过相互异或交换值。3.逻辑优化,增加标志位,减少循环判断次数。2.该判断的判断好,不要徒增任何一次判断。优化一下冒泡排序(三个方面)
2024-12-28 18:31:20
149
原创 C语言-字符数组的长度和大小-指北
当定义一个字符数组并指定其大小时,例如,数组的大小是 99 字节。即使仅初始化了 "kuuga",整个数组仍保留 99 字节的内存空间。返回 99,而返回 5,因为即使arr2中的有效字符只有 5 个,剩余的空间仍然保留在内存中如果这样定义字符串会自动在末尾添加 '\0'字符串大小容易被左右,长度是实打实的东西// 自动生成大小,包含结束符// 手动指定字符printf("第一个字符串的大小(arr[]): %zu 字节\n", sizeof(arr));
2024-12-12 20:34:40
913
原创 三目运算符·指北
解析:三目运算符(条件运算符)中,表达式的求值是从左到右的,并且具有短路特性。这意味着当最外层的条件为真时,后面的条件和结果将不会被计算。) 设a=1,b=2,c=3,d=4,则表达式:a
2024-12-04 10:46:03
266
原创 搞懂整型数据的 原码,反码,补码
(符号位负数为1,正数为0,符号位不参与运算,压根不用管符号位)反码:除了符号位以外,对原码按位取反,得到反码。补码:在反码的基础上加1得到补码。(正数的 原码,反码,补码完全一致,以上操作只针对负数)
2024-11-26 19:47:22
299
原创 C语言常用数据类型介绍(有图)
数据类型其实是固定大小内存的别名,并且描述了一个变量存放什么类型的数据。简单来说,就是组织和操作数据。 数据类型不仅帮助我们组织和操作数据,还决定了程序如何有效的利⽤内存。序号 数据类型 中文说明 大小(字节) 1 short 短整型 2 2 int 基本整形 4 3 long(long int) 长整型 4(32位编译器)/8(64位编译器) 4 long long(long long int)
2024-11-25 20:54:11
272
原创 Linux 目录作用简介(有图)
Linux本质上就是一个文件系统,Linux文件系统是操作系统组织、存取、保存数据的一种手段。/dev:存放硬件设备对应的文件(二阶段Linux应用开发就是访问这个文件夹中的文件)/lib:存放系统和应用程序依赖的库文件,有系统库,也有第三方库。/etc:存放系统和应用程序的配置文件(profile)/home:家目录,存放当前系统下所有用户对应的目录。/proc:存放系统运行时的运行信息。/mnt:用于系统文件系统的挂载目录。/boot:主要存放系统的引导程序。/bin:主要存放系统的普通指令。
2024-11-25 19:37:22
207
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人