
C/C++
文章平均质量分 89
小玖工作坊
工欲善其事,必先利其器
展开
-
02-系统调用、文件、目录
是操作系统提供给用户使其可以操作内核提供服务的一组函数接口。Linux 的不同版本提供了两三百个系统调用。用户程序可以通过这组接口获得操作系统(内核)提供的服务。用户可以通过文件系统相关的系统调用,请求系统打开文件、关闭文件或读写文件。系统调用按照功能逻辑大致可分为进程控制、进程间通信、文件系统控制、系统控制、内存管理、网络管理、 socket 控制、用户管理。系统调用的返回值通常,用一个负的返回值 来表明错误,返回一个0 值表明成功。原创 2024-01-09 09:14:53 · 1168 阅读 · 0 评论 -
01-shell
shell既是一种应用程序,也是一种设计语言作为应用程序:交互式地解释、执行用户输入的命令,将用户的操作翻译成机器可以识别的语言,完成相应功。硬件层Liunx系统层Shell应用程序层,如图1。此时Shell的作用是:沟通应用程序层与Liunx系统层,即Shell解析器Shell解析器常用的有三种,分别是:shashbash,一般情况下使用bash可以使用echo $SHELL查看使用的那种解析器,如图2作为设计语言shell脚本语言,不需要编译,直接解析执行(批处理)原创 2024-01-09 09:10:17 · 923 阅读 · 0 评论 -
09-C++ STL-适配器、算法
重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象,也叫仿函数(functor), 其实就是重载“()”操作符。作用:为算法提供策略。算法中常用的功能涉及到比较、交换、查找、遍历、复制,修改,反转,排序,合并等。 引入头文件 #include原创 2023-12-31 16:19:33 · 952 阅读 · 0 评论 -
08-C++ STL-容器
STL(Standard Template Library,标准模板库),是惠普实验室开发的一系列软件的统注意:函数访问权限,设置友元。int age;public:Person(){}Person p1("张三",18);ps.push_back(Person("张彪1",22));ps.push_back(Person("张彪2",22));ps.push_back(Person("张彪3",22));ps.push_back(Person("张彪4",22));原创 2023-12-31 16:09:07 · 1030 阅读 · 0 评论 -
07-C++ 异常
标准库中也提供了很多的异常类,它们是通过类继承组织起来的。异常类继承层级结构图所示 :标准异常类的成员:① 在上述继承体系中,每个类都有提供了构造函数、复制构造函数、和赋值操作符重载。② logicerror 类及其子类、 runtimeerror 类及其子类,它们的构造函数是接受一个string 类型的形式参数,用于异常信息的描述③ 所有的异常类都有一个what()方法,返回类型(C 风格字符串)的值,描述异常信息。异常名称描述exception所有标准异常类的父类。原创 2023-12-30 19:27:26 · 1317 阅读 · 0 评论 -
06-C++ 模板
通过使用模板,我们可以编写可复用的代码,可以适用于多种数据类型。c++模板的语法使用尖括号 `< >` 来表示泛型类型,并使用关键字 `template` 来定义和声明模板。原创 2023-12-30 19:22:55 · 531 阅读 · 0 评论 -
06-C++ 类和对象-多态
物的多态同一个人在不同人面前,角色不同事的多态同一种事情,在不同情况下展现不同如:吃饭睡觉平躺侧卧趴着。原创 2023-12-29 21:41:05 · 1122 阅读 · 0 评论 -
05-C++ 类和对象-继承
c++最重要的特征是代码重用,通过继承机制可以利用已有的数据类型,来定义新的数据类型,新的类不仅拥有旧类的成员,还拥有新定义的成员。一个 B 类继承于 A 类,或称从类 A 派生类 B。这样的话,类 A 成为基类(父类),类 B 成为派生类(子类)。从基类继承过过来的表现其共性,而新增的成员体现了其个性。原创 2023-12-29 21:30:54 · 1343 阅读 · 0 评论 -
04-C++ 类和对象-02
friend全局函数成员函数类友元打破c++的封装性。一般用于运算符重载作用:是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。operator返回值类型 operator 运算符(形参列表)函数体如:>>void operator >>(形参列表){ }1、分析 运算符的运算对象的个数2、分析运算符左边的运算对象是自定对象还是其他左边:是其他 只能全局函数实现自定义对象(必须使用友元)可以用使用**全局函数 **重载运算符(参数个数 和 运算符对象的个数一致)原创 2023-12-25 08:57:24 · 1109 阅读 · 0 评论 -
03-C++ 类和对象
class 类名[访问权限修饰符:]成员变量成员函数构造函数:类实例化对象的时候自动调用。当一个类中没有构造函数系统将默认为其生成一个无参构造如果一个类中有构造函数,系统将不会为其提供默认的无参构造一个类可以定义多个构造函数,该类中的多个构造函数为重载关系构造函数无形参列表构造函数有形参列表对象生命周期结束的时候,自动调用析构函数。一个类只能有一个析构函数如果用户不提供析构函数 编译器默认会提供一个空的析构函数。一般不需要自定义析构函数,但是如果类中有指针成员且指向堆区空间,这时。原创 2023-12-25 08:48:20 · 1218 阅读 · 0 评论 -
02-C++ 与C的差异
封装多个变量、函数等,更好地控制标识符的作用域。namespacenamespace [名称] {成员的声明,可以具有初始化的值;内部嵌套 namespace {};[声明成员函数][定义成员函数]// 实现namespace中声明的函数函数返回值类型 命名空间的名称::声明的函数名(形参列表)比如:int num02;命名空间不能定义在函数中,只能定义在全局区域cout原创 2023-12-20 08:28:07 · 1353 阅读 · 0 评论 -
01-C++基础
c++中的++来自于 c 语言中的递增运算符++,该运算符将变量加 1。c++起初也叫”c with class”。通过名称表明,,因此 c++是 c 语言的超集,这意味着库是编程模块的集合,可以在程序中调用它们。库对很多常见的编程问题提供了可靠的解决方法,因此可以。c++语言在 c 语言的基础上添加了编程和的支持。c++继承了 c语言高效,简洁,快速和可移植的传统。原创 2023-12-16 15:20:25 · 93 阅读 · 0 评论 -
C语言-Makefile
①GNU make是一种代码维护工具② make 工具会根据 makefile 文件定义的规则和步骤,完成整个软件项目的代码维护工作③一般用来简化编译工作,可以极大地提高软件开发的效率④ windows 下一般由集成开发环境自动生成⑤ linux 下需要由我们按照其语法自己编写定义变量:变量名=变量值引用变量:$(变量名)或${变量名}注意:1、makefile 的变量名:makefile 变量名可以以数字开头2、变量是大小写敏感的3、变量一般都在 makefile 的头部定义。原创 2023-12-16 15:15:05 · 490 阅读 · 0 评论 -
C语言-文件
文件指针在程序中用来标示(代表)一个文件的,在打开文件的时候得到文件指针文件指针就用来代表打开的文件。咱们对文件进行读、写、关闭等操作的时候,对文件指针进行操作即可,即咱们将文件指针,传给读、写、关闭等函数,那些函数就知道要对哪个文件进行操作。FILE * 指针变量名;注意事项:FILE 为大写,需要包含FILE是系统使用 typedef 定义出来的有关文件信息的一种结构体类型,结构中含有文件名文件状态和文件当前位置等信息一般情况下,我们操作文件前必须定义一个文件指针。原创 2023-12-08 16:08:45 · 149 阅读 · 0 评论 -
C语言-链表_基础
单链表:一个节点只记录下一个节点的地址双链表:一个节点即记录下一个节点的地址,也记录上一个节点的地址原创 2023-12-08 08:49:43 · 148 阅读 · 0 评论 -
C语言-结构体
关键字:struct语法1:推荐使用struct 结构体名称成员(一个结构体中可以有多个成员)struct 结构体名称 变量名;//定义结构体变量语法//一个结构体可以定义多个结构体变量fun01();return 0;注意:多个结构体变量之间互不影响,都有其独立的内存定义结构体时,顺便定义一个结构体变量struct 结构体名称成员(一个结构体中可以有多个成员)}变量名;} s1;原创 2023-12-05 21:26:51 · 461 阅读 · 0 评论 -
C语言-字符串函数
strlen 字符串长度strcpy 字符串拷贝strcmp 字符串比较strcat 字符串追加原创 2023-12-05 20:32:55 · 222 阅读 · 0 评论 -
C语言-内存分配
在程序运行时,系统为了更好的管理进程中的内存,所以有了内存分配机制。原创 2023-12-03 21:30:05 · 874 阅读 · 0 评论 -
C语言-指针_02
概念:指针变量中存储的是指针的地址,又名数据类型 **p;原创 2023-12-02 21:27:43 · 519 阅读 · 1 评论 -
C语言-指针_01
数据类型 变量名char * 存储字符型数据的地址编号的数据类型 字符指针short * 存储short型数据的地址编号的数据类型 短整形指针int * 存储int型数据的地址编号的数据类型 整形指针long * 存储long型数据的地址编号的数据类型 长整形指针float * 存储float型数据的地址编号的数据类型 单精度浮点型指针double * 存储double型数据的地址编号的数据类型 双精度浮点型指针...原创 2023-12-02 17:53:46 · 159 阅读 · 0 评论 -
C语言-预处理与库
gcc -E hello.c -o hello.i 1、预处理gcc -S hello.i –o hello.s 2、编译gcc -c hello.s -o hello.o 3、汇编gcc hello.o -o hello_elf 4、链接原创 2023-12-01 18:42:46 · 332 阅读 · 0 评论 -
C 语言-数组
数据类型 数组名[长度] = {值1, 值2, 值3, 值4...};数据类型 数组名[x][y] = {{值1,值2,值3,...},{值11,值22,值33,...},{值111,值222,值333,...},...x:二维数组中存储的一维数组的个数一维数组中可存储的元素的个数{1,2,3},{4,5,6},{7,8,9},{13,14,15}// 当数组全部初始化时可以省略长度不写// 二维数组的长度是一维数组的个数{1,2,3},{4,5,6},{7,8,9},原创 2023-11-30 19:16:46 · 353 阅读 · 0 评论 -
C 语言-循环嵌套-函数
返回值类型 函数名(形参列表) 函数体返回值类型:返回值的数据类型,当函数没有返回值,返回值类型为void(空类型)函数名:标识符,自定义的形参列表:根据实际情况,可有可无,多个参数之间使用逗号隔开,每个参数有数据类型变量名编写函数体:封装的代码return:结束当前函数return xxx:结束当前函数并返回xxx,xxx就是返回值一个函数最多只能有一个返回值同一个源文件中函数名不能重复(c语言不支持重载)函数不能定义在函数中原创 2023-11-28 13:03:53 · 747 阅读 · 0 评论 -
C语言 - 语句
c语言 - 语句原创 2023-11-26 17:21:15 · 960 阅读 · 0 评论 -
C语言 - 基础
创建C语言程序步骤:1、创建一个文档,以.c作为后缀名2、在该文档中编写以下代码3、使用gcc编译器编译该程序4、执行编译生成的可执行文件。原创 2023-11-25 15:10:29 · 380 阅读 · 0 评论 -
C语言 - Linux基础使用
Linux是操作系统Linux中所有的程序与硬件设备对Linux系统而言都是一个文件或文件夹。原创 2023-11-25 14:31:52 · 1038 阅读 · 0 评论