自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 QT——线程

每一个线程自带事件循环线程函数,不会在main的事件循环中执行所以,我们碰到比较耗时的操作,我们就可以把这个操作放到线程中去完成,避免程序一卡一卡的只要创建出一个QThread对象,就会立刻创建出一个线程只不过该线程没有开始运行而已 即使没写线程主函数,线程依旧能够正常运行那么创建线程的时候,就不要再创建QThread了,而是创建myThread1:一个QThread或者一个myThread,只会有一个线程2:c语言线程,只要线程主函数结束运行,线程就结束运行了,剩下的就是资源回收的问题QT线程,

2025-03-06 16:09:15 516

原创 QT——文件IO

构造函数QFile() 无参构造仅仅构建一个QFile 对象,不设定文件名QFile(文件名)构建一个QFile对象的同时,设定文件名但是注意,仅仅设定文件名,并不会打开该文件设定文件名QFile filefile.setFileName(文件名)并不会打开打开文件file.open(打开模式)

2025-03-03 17:05:17 745

原创 信号+槽——QT的核心特性

接受一个信号的槽函数,需要操作多个组件窗口,拥有多个组件窗口地址的,一般就是一个父组件so要为我们自己写的父组件,写一个自定义的槽函数,去操作多个组件注意:1:必须写在 public slots 访问权限里面2:拥有自定义槽函数的类,必须在开头有一个宏:Q_OBJECT如果没有,虚表报错虚表报错了,再加上这个宏,编译还是报错,只能 重新构建 才能解决3:有自定义槽函数的类,必须分文件编译C++ 分文件的规则:一个类占一个头文件;类里成员函数,定义在对应的.cpp 文件省写一个接口。

2025-03-03 15:44:27 740

原创 对象树——控件

QT99%的类,有共同的基类 QObject[控件]QObject派生很多类,通过继承和多态关系,QObject与这些派生类形成树状结构。

2025-02-28 17:32:23 424

原创 QT——c++界面编程库

QT编译的时候,依赖于 .pro 配置文件:SOURCES: 所有需要参与编译的 .cpp 源文件HEADERS:所有需要参与编译的.h 头文件QT:所有需要参与编译的 QT函数库.pro文件一旦修改,注意需要键盘按 ctrl+s 才能加载最新的配置文件标准输出:QDebug 类qDebug() << 输出的数据;qDebug() 是全局函数, 返回 QDebug 对象【 c++中的cout】QT所有的类,以 Q 开头第二个字母通常也大写。

2025-02-28 14:55:17 942

原创 拷贝构造函数 移动构造函数

构造函数的其中一种,构造函数有什么特点,拷贝构造函数拥有同样的特点构造函数:用来构建对象,依据各不相同可以完全没有依据,也可以有几个不同的参数拷贝构造函数:也是用来构建对象的,但有1个依据:另一个对象拷贝构造函数:用一个已在的对象,构建新对象,内部数据和对象一样。

2025-02-27 09:16:39 850

原创 智能指针——管理动态内存,自动释放

指向堆空间手动管理动态内存(new和 `delete`):1. **内存泄漏**:忘记释放内存。2. **悬空指针**:释放内存后仍然访问该内存。3. **双重释放**:多次释放同一块内存。

2025-02-26 17:32:13 337

原创 STL库——标准模板库

Standard Template Library是 C++ 标准库的一部分,提供通用的模板类和函数,实现数据结构和算法,减少代码量。核心思想是泛型编程,通过模板实现代码的复用和扩展。

2025-02-26 16:42:46 253

原创 单例模式——c++

一个类,只能有1个对象 (对象在堆空间)再次创建该对象,直接引用之前的对象so构造函数不能随意调用so构造函数私有so对象不能构造如何调用私有化的构造函数:公开接口调用构造函数调用构造函数:singleTon instance;但return instance 之后,产生拷贝构造,就不单例了so删除拷贝构造函数: singleTon(const singleTon& r) = delete;不能返回引用,因为构造的是局部变量。

2025-02-26 15:40:08 389

原创 C ++ 静态存储区+堆空间

1:生命周期很长,main函数开始之前就存在,main函数结束,才结束2:同名变量的管理,与栈不一样(重名变量前提,作用域一样):栈:遇到重名变量,语法错误静态存储区:遇到重名变量,新声明的变量不再声明,而是直接引用之前声明的那个重名的变量总结:静态存储区的相同作用域中,出现重名变量,后面变量直接引用前面的。

2025-02-26 14:19:31 299

原创 多态 作业

实现:英雄可装备Sword、Blade、Axe,但装备不同武器,英雄要获得不同的属性加成。Sword 类:继承Weapon 类,属性 生命值,set get 方法。Hero类:私有成员(攻击,防御,速度,生命值),set get 方法。Hero类有一个公开函数,equipWeapon(Weapon* w)Blade类:继承Weapon 类,属性 速度,set get 方法。Axe类:继承Weapon 类,属性 防御力,set get 方法。Weapon 类:私有成员(攻击力),set get 方法。

2025-02-26 09:10:16 185

原创 模板(Template)

允许编写通用代码,支持多种数据类型。实现泛型编程。

2025-02-26 08:43:45 252

原创 多态——面向对象

多态允许不同类对同一消息做出不同的响应,即同一个接口可以根据实际对象类型执行不同的操作。多态性通过以下实现:1. **编译时多态**(静态多态):函数重载和运算符重载。2. **运行时多态**(动态多态):虚函数和继承。

2025-02-25 14:29:33 165

原创 c++函数

1:三目运算符 ()?

2025-02-25 14:13:08 842

原创 继承 ——类的功能拓展

追加 operator ++ 功能,即解锁一次。以及 operator-- 功能, 即上锁一次。

2025-02-25 10:06:45 213

原创 运算符 重载 函数

.

2025-02-24 09:52:09 264

原创 构造、析构函数

。、

2025-02-21 15:21:33 99

原创 c++ 概括

2025-02-21 13:52:21 96

原创 7.UDP通信

client.c广播server.c client.c组播server.c client.c心跳包udp面向非连接,客户端下线之后,udp的服务器无法知道客户端下线了udp的客户端需要开启一个线程,每个 n 秒像服务器发送一个协议包,协议包的类型定性为心跳包,作用:向服务器表明,我这个客户端还在线,没有下线服务器同理,开启一个专门的线程,每隔一段时间,检查一下所有客户端的心跳包是否有更新,如果m秒都没有更新的话,则认定该客户端下线了 c

2025-02-17 14:58:50 116

原创 5 .TCP传输 文件/数据

本质:客户端通过标准IO或者文件IO,读取文件中的信息然后将读取到的信息,通过套接字发送给服务器服务器接收到这些数据之后,立刻通过标准IO或者文件IO写到文件里面去这个过程里面,服务器需要知道2件事情1:客户端发来的文件的名字2:客户端发来的文件大小(stat函数可以获取)

2025-02-12 09:28:10 277

原创 4 服务器 连接 多客户端

2025-02-10 08:23:45 98

原创 1 网络 编程

2025-02-08 10:07:44 87

原创 3 TCP搭建 服务器 客户端

2025-02-08 10:06:59 100

原创 2 套接字

2025-02-07 13:29:08 83

原创 多线程编程

2025-02-06 10:06:35 274

原创 多进程编程

2025-02-06 10:02:53 77

原创 数据 类型

(指向包含n个整数指针的数组的指针),n是数组c大小。(指向包含n个整数的数组的指针),n是数组b大小。是函数指针数组,存储指向。

2025-02-03 16:35:14 250

原创 递归计算 :1 + 1/3 - 1/5 + 1/7 - 1/9 + .... 1/n

【代码】递归计算 :1 + 1/3 - 1/5 + 1/7 - 1/9 + .... 1/n。

2025-02-03 15:37:11 265

原创 双向链表的快速排序函数

链表的节点作为快速排序的元素,通过节点的指针进行操作,而不是通过数组索引。

2025-02-02 16:35:14 363

原创 条件变量 实现2生产者2消费者模型

a 缓冲区:存储物品。初始化为空。b 计数器:缓冲区中物品数量。初始化为0。c 互斥锁:缓冲区和计数器的互斥访问。初始化。4个线程共用一个锁d 条件变量:生产者和消费者的同步。初始化。not_full 通知生产者(缓冲区未满时)not_empty通知消费者(缓冲区非空时)

2025-02-01 18:57:12 300

原创 互斥锁/信号量实现5个线程同步

所有线程开始执行前,pthread_mutex_init(&mutex, NULL);互斥锁保证在同一时刻,只有一个线程可以访问共享资源,从而实现了线程同步。互斥锁适用于需要严格互斥的情况,而信号量则提供了更灵活的同步控制。信号量的初始值决定了可以同时访问共享资源的线程数量。增加信号量的值,从而允许其他线程进入临界区。设置初始值为1,意味着信号量表现得像互斥锁。减少信号量的值,阻塞线程直到值大于0。4 等待 threads[i] 结束。1 创建互斥锁(1个)1 创建信号量(1个)3 创建线程(5个)

2025-01-31 16:49:57 519

原创 read+write实现:链表放到文件+文件数据放到链表 的功能

1 节点结构(数据int型)2 链表操作(创建节点、插入节点、释放链表、打印链表)。

2025-01-27 22:25:40 454

原创 dup2 + fgets + printf 实现文件拷贝

将源文件的内容读取到内存中,然后将这些内容写入到目标文件。重定向 标准输出到目标文件。()以写模式打开目标文件。()从源文件中读取内容。()将内容写入目标文件。以读模式打开源文件。

2025-01-26 22:03:11 302

原创 实现一个终端的功能,有cd功能

system() 创建一个子进程来执行命令,不影响当前进程的工作目录。用system() 函数执行大多数系统命令,但 cd 命令例外,用 fgets() 或类似函数从标准输入读取一行文本。将用户输入的字符串按照空格分割成命令和参数。存储命令和参数数组,确保以 NULL 结尾。使用循环不断打印提示符、读取用户的输入,父进程用 wait() 等待子进程结束。子进程用 execvp() 执行命令。用 strtok() 来分割字符串。用 chdir() 改变目录。用 fork() 创建子进程。

2025-01-26 00:24:42 275

原创 共享内存 + 信号灯集,实现2个进程聊天

信号灯用于同步两个进程,确保在读写共享内存时不会发生冲突。每个进程都需要实现发送和接收消息的功能。多个进程访问同一块内存空间。将消息写入共享内存。从共享内存读取消息。

2025-01-25 00:53:53 220

原创 消息队列 实现2个终端聊天

【代码】消息队列 实现2个终端聊天。

2025-01-24 00:29:49 219

原创 文件 IO

2025-01-10 10:16:46 69

原创 标准IO的 缓冲区

2025-01-09 18:39:27 75

原创 文件IO 标准IO 区别

2025-01-09 18:37:48 104

原创 系统时间的函数

2025-01-09 08:54:19 104

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除