- 博客(29)
- 收藏
- 关注
原创 linux高级系统编程之系统调用
操作系统的职责操作系统用来管理所有的资源,并将不同的设备和不同的程序关联起来什么是linux系统编程在有操作系统的环境下编程,并使用操作系统提供的系统调用及各种库,对系统资源进行访问学会了C语言再知道一些使用系统调用的方法,就可以进行linux系统编程了系统调用是操作系统提供给用户程序的一组特殊的函数接口。
2024-11-27 20:27:38
1032
原创 Qt之QWidget相关
1,在对应的窗口的头文件中定义槽函数void 槽函数名(形参列表);void 槽函数名(形参列表);...2,在源文件中实现该槽函数3,使用connect绑定信号与槽1,在对应的窗口的头文件中定义signals:void 信号名(形参列表);注意:信号不用实现。
2024-11-22 19:00:25
914
原创 C++语言之函数对象与算法
在 C++ 中,函数对象(Function Object)也叫仿函数(Functor),是一个类,这个类重载了()运算符。从概念上讲,它的行为类似于一个函数,可以像调用函数一样来调用这个类的对象。例如,下面是一个简单的函数对象类:public:int main()//函数对象(仿函数)Add add;return 0;这个Add类就是一个函数对象。它重载了()运算符,使得该类的对象可以像函数一样被调用。作用:为算法提供策略。
2024-11-22 16:06:11
1166
原创 C++语言之STL
class Perpublic:ps.push_back(Per("张三"));ps.push_back(Per("李四"));ps.push_back(Per("王五"));it!= ps.end();it++)vector单端动态数组 随机访问迭代器重点比如软件历史操作记录的存储,我们经常要查看历史记录,比如上一次的记录,上上次的记录,但却不会去删除记录,因为记录是事实的描述。数据结构:数组deque:双端动态数组 随机访问迭代器deque。
2024-11-21 16:16:46
1217
原创 C++语言之异常
1,定义一个类使其继承与exception或其子类2,定义一个变量记录异常信息3,定义该类的构造函数拷贝构造析构函数等4,重写what函数return 步骤2定义的变量;注意:编译使用需加-std = c++11。
2024-11-20 15:16:34
871
原创 C++语言之模版与类型转换
C++的泛型编程可以将数据类型作为参数进行传递关键字:C++模版的语法使用"<>"来表示泛型类型,并使用关键字template来定义和声明模版分类:模版函数模版类。
2024-11-19 22:24:35
758
原创 C++语言之继承
在 C++ 语言中,继承是面向对象编程的一个重要特性,它允许创建一个新类(派生类)从现有的类(基类)中继承属性和行为,从而实现代码的复用和扩展。当一个类继承另一个类时,派生类会自动获得基类的所有非私有成员变量和成员函数。这意味着派生类可以直接使用基类中定义的这些成员,无需重新编写相同的代码,从而提高了代码的复用性。注意:一个父类可以派生多个子类多个子类也可以属于同一个父类一个类可以继承多个父类。
2024-11-18 18:39:49
589
原创 C++语言之类与对象2
概念:使用static修饰的成员称为静态成员修饰成员变量的特点:1,使用static修饰的成员变量属于该类,该类的所用对象共同持有一份2,不占用对象的内存空间,该成员变量存储在静态全局区3,可以使用类名直接调用类名::成员变量名类名::成员变量名 = 值;ps:假设有一个Car类,其中有一个静态成员变量totalCars,用于记录总共创建的汽车数量。每创建一个新的Car对象时,都会对totalCars进行累加操作。无论有多少个具体的Car对象存在,它们都共同操作和共享这同一个。
2024-11-18 16:12:22
1037
原创 C++语言之类与对象1
对象是类的实例化,是依据类所定义的模板创建出的具体实体。其状态由属性值决定,如某辆具体汽车的红色、宝马等属性值构成其状态;行为通过调用所属类的方法实现,如调用汽车的启动、加速方法展现其行为。语法:class 类名成员变量:描述事物的静态特征,一个类中可以有多个成员变量,也可以一个都没有构造函数:创建对象析构函数:回收对象拷贝构造:对象赋值给对象成员函数:描述事物的动态特征如:// 定义Person类public:// 成员变量,用于存储人的姓名int age;
2024-11-17 22:20:35
2032
原创 C++语言之对C语言的扩展
C++ 是一种在 C 语言基础上发展而来的、支持面向对象编程、泛型编程等多种编程范式,既保留了 C 语言的高效性和底层控制能力,又增加了面向对象等高级特性的高级编程语言。
2024-11-17 13:53:37
803
原创 C语言之MakeFile
定义: 变量名=变量值使用:取值;${变量名}或$(变量名)拼接:变量名+=值注意:1,makefile变量名可以以数字开头2,变量的大小是敏感的3,变量一般都在makefile的头部定义4,变量几乎可以在makefile的任何地方使用makefile中有许多预定义变量,这些变量具有特殊的含义,可在makefile中直接使用。$@ 目标名$< 依赖文件列表中的第一个文件$^ 依赖文件列表中除去重复文件的部分AR 归档维护程序的程序名,默认值为ar。
2024-11-15 20:33:59
1127
原创 C语言之文件操作
文件用来存放程序,文档,音视频,图片等数据的文件就是存放在磁盘上的一些数据的集合在windows下可以通过写字板或记事本打开文本文件对文件进行编辑保存,写字板和记事本是微软程序员写的程序,可以对文件进行打开,显示,读写,关闭操作。
2024-11-15 18:42:00
981
原创 C语言之链表操作
一个节点就是一个结构体变量1,单链表节点//数据域int num;char c;//地址域}Node;2,双链表节点//数据域int num;char c;//地址域}Node;
2024-11-15 14:22:03
1011
原创 C语言之位域、共用体和枚举
其中type是位域的数据类型,通常为或signed int;是位域的名称;width是位域所占的位数。如:在上述结构体中,定义了三个位域bit1bit2和bit3,它们分别占用 1 位、2 位和 3 位的存储空间。char : 0;它用于进行位域的填充或者说占位,起到一种分隔、对齐或者预留空间的作用,本身并不用来实际存储有意义的数据,其宽度指定为 0 意味着不占实际的位来存储常规数据内容。char : 0;t.bit1 = 5;return 0。
2024-11-14 17:14:04
939
原创 C语言之结构体
结构体A中的成员变量是结构体B的结构体变量结构体指针概念:指向结构体变量的指针语法:结构体名称 *指针变量名=&结构体变量;操作成员变量:指针变量名->成员变量名指针变量名->成员变量名=值;注意:字符数组型需要使用strcpy。
2024-11-14 16:22:49
1076
原创 C语言之字符串相关函数
概述由系统提供的对字符串处理的函数属于库函数所属头文件: #include<string.h>strlen:测量字符串长度语法:size_t strlen(const char *s)参数: 要测量的字符串返回值: 长度注意: 测量的长度不包括\0如: char *str="hello"; int len=strlen(str);
2024-11-14 14:23:12
863
原创 C语言之编译与库
C语言编译的4个阶段:预编译,编译,汇编,链接预处理阶段会在源代码中查找预编译指令,其中主要是头文件展开(include),宏替换(define),选择性编译(ifdef)三种指令预处理命令以符号#开头优点:1,扩展了C程序设计的环境2,简化程序开发过程3,提高程序的可读性注意;1,实际上不是C语言的一部分2,预编译指令在编译前由预处理程序对源文件的预处理文件进行加工。
2024-11-12 18:13:08
942
原创 常见查找排序算法
printf("元素 %d 在数组中的下标是 %d\n", key, mid);printf("元素 %d 在数组中的下标是 %d\n", key, i);printf("未找到元素 %d\n", key);3,使用遍历获取的值与假设的最大值或最小值比较。4,如果假设的最值下标对应的值小于遍历获取的值。1,假定容器中的某个下标对应的值为最大值。5,当遍历完成后假设的最值就是真的最值。3,使用遍历获取的值与假设的最大值。如果变量的值大于最大值或遍历的值小于最小值,那么将遍历获取的值赋值给假设的变。
2024-11-11 20:02:44
1020
原创 C语言基础知识3
语法返回值类型 函数名(形参列表函数体返回值类型:返回值的数据类型如果没有返回值写void(NULL空函数名:标识符形参列表:定义的多个变量使用逗号隔开可有可无函数体:封装的代码return:结束当前函数return 值或变量;结束当前函数并返回该值或变量此时这个值或变量就是返回值一个函数只能有一个返回值定义位置函数外注意同一个程序中不能出现两个或两个一个函数名相同的函数调用语法:调用无返回值的函数: 函数名(实参列表);
2024-11-11 16:04:32
1038
原创 C语言基础知识2
const修饰的变量只能赋值一次,所以。代码1:当变量值等于常量1时。代码2:当变量值等于常量2。代码3:当变量值等于常量3。代码n:当变量值等于常量n。常量:写死的值或不能修改值的变量称为常量。代码n+1:当变量值不等于以上所有常量,当以上条件表达式都为假,执行此处代码。当条件表达式为真,执行此处代码。当条件表达式为真,执行此处代码。当条件表达式为假,执行此处代码。else if(条件表达式3)break:跳出当前代码块,当条件表达式值为真,取值。用于判断,使代码在多个之间选择一个执行。
2024-11-10 18:07:25
615
1
原创 C语言基础知识1
场景:在需要及时显示最新输出结果的情况下,比如在用户交互过程中,当用户输入后需要马上显示相关反馈内容。场景:在批量输出场景下可以减少频繁刷新开销,或者当需要精确控制输出时机时。场景:程序结束前输出所有缓冲内容,或当需要完整更新显示全部积累的输出时。概念:在控制台输出时将缓冲区中的内容逐行输出并清空该行缓冲区。概念:不管缓冲区状态,立刻将缓冲区内的内容输出到控制台。概念:清空整个输出缓冲区,输出全部内容。含义:标记的符号,自定义的,如函数名,变量名,数组名,指针名,结构体名称,文件名等。
2024-11-10 16:40:54
855
1
原创 Linux常用命令
删除源文件后,只要硬链接文件还存在,文件的数据依然可以通过硬链接文件访问到,就好像源文件还在一样。软连接是一个特殊的文件,它里面存储的是指向源文件的路径信息。硬链接文件和源文件实际上指向磁盘上的同一个物理数据块,它们就像是同一个文件的不同 “名字”。对硬链接文件或源文件进行修改,效果是一样的,因为它们本质上是同一个文件内容的不同引用。如果源文件被移动或删除,软连接就会失效,因为它指向的路径找不到对应的源文件了。文件的内容就会变为 “Hello World\nGoodbye”(这里的。
2024-11-10 13:23:02
1081
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人