- 博客(38)
- 收藏
- 关注
原创 C++:类中特殊成员函数的使用和实现以及运算重载符
用于允许类的对象进行类似于指针的操作,例如使用箭头符号操作对象的成员。取地址重载函数名称为operator->,仅有一个返回类型为指向类对象的指针的函数。类中本来就提供的成员函数,常造函数、析构函数、拷贝构造函数、拷贝赋值函数、取地址重载、取地址重载函数,C++11中还提供了:移动构造函数,移动赋值函数。名称为operator&,该函数无参数,返回类型为指向类对象的指针。拷贝构造函数的名称为类名,并带有单个参数,该参数是对要拷贝的对象的引用。用于初始化类的对象。类中定义的一种函数,操作类的数据成员。
2023-06-07 22:27:52 330
原创 C++:类中的构造函数、析构函数和拷贝构造函数
是一个类内默认给非静态成员函数提供的,指向类对象的指针类对象的指针----->哪个对象使用我,我就指向哪个对象。,是由C++中的结构体演变而来的,C++中的类和结构体都是可以继承的,类中成员都默认是私有权限private类:就是一个对象的模板,类中会包含,成员属性,成员方法(行为)。2.类对象作为函数参数时,也会调用拷贝构造函数,而不是类对象的引用作为函数的参数,因为引用作为参数,不会开辟空间,用已有的类对象给另一个类对象初始化时,使用的,系统自动调用。1.使用已有的类对象初始化新的类对象时。
2023-06-06 22:52:45 338
原创 C++:命名空间以及字符串的使用
(4)本地全局变量和命名空间冲突时,本地全局变量使用::变量名引用,因为本地全局变量保存在匿名空间中;(1)全局引入,引入命名空间的所有标识符,格式:using namespace 命名空间名;(3)多个命名空间变量名冲突时,需要使用域限定符,来标识使用哪一个命名空间;引入命名空间的部分标识符,格式:using 命名空间名::标识符名;(2)局部引入,在哪使用在哪引用,格式:命名空间名::标识符名;
2023-06-05 22:20:54 319
原创 网络编程:IO多路复用的TCP协议(select函数和poll函数)
是一种常用的提高网络编程效率和扩展性的技术,常用的两种实现方式是select函数和poll函数。进程中如果同时需要处理多路输入输出流,在使用单进程单线程的情况下,同时处理多个输入输出请求。在无法用多进程多线程,可以选择用IO多路复用;由于不需要创建新的进程和线程,减少系统的资源开销,减少上下文切换的次数。a.上下文:运行一个进程所需要的所有资源。
2023-05-19 22:49:05 789
原创 网络编程:基于UDP 的tftp服务器(实现下载功能)
基于UDP的TFTP(Trivial File Transfer Protocol)服务器是一种简单的文件传输协议,它基于UDP协议来进行通信,适用于网络带宽较小、文件传输量较小的场景,例如在局域网内快速传输一些小文件等。基于UDP的TFTP服务器相比于TCP协议,具有较低的网络开销,可靠性相对较差。TFTP使用标准的UDP端口号69,客户端发送读请求或写请求给服务器,服务器则根据请求类型返回相应的数据包,其中读请求包括一个字符串文件名和请求类型码1,写请求包括一个字符串文件名和请求类型码2。
2023-05-18 19:31:42 247
原创 网络编程:C语言实现TCP并发服务器(多进程、多线程)
在多线程TCP服务器中,服务器进程会创建多个线程来处理客户端连接请求。对于每个客户端连接请求,服务器进程会创建一个新的线程去处理,各个线程之间相互独立,能够同时处理多个客户端连接请求。在多进程TCP服务器中,服务器进程会创建多个子进程来处理客户端连接请求。对于每个客户端连接请求,服务器进程会创建一个新的子进程去处理,各个子进程之间相互独立,能够同时处理多个客户端连接请求。在一个TCP并发服务器中,服务器进程通常会创建多个子进程或子线程来处理客户端连接请求,从而实现并发处理。2.多线程TCP服务器。
2023-05-18 19:10:58 2047
原创 网络编程:(C语言)搭建TCP服务器
适用场景:对干传输质量比较高,以及传输大量数据的通信。在需要可靠通信的数据传输场景例如:账户充值,账户登录。i.为了提高效率,TCP会将多个足够小,且发送间隔短的数据包,粘成一个包发送,该现象称之为粘包现象。i.TCP会给每个数据包都编上一个编号,这个编号称之为序列号。b.数据无误,数据无丢失,数据无失序,数据无重复到达的通信。a.TCP是提供面向连接的,稳定的可靠的数据传输协议。TCP特点:---- 稳定,是一种传输层协议。d.数据的收发是不同步的。c.传输效率低,耗费资源多。
2023-05-17 09:10:15 707
原创 IO进程线程:共享内存的操作
在共享内存中放入一个字符串"1234567",创建两个进程,4.提示:在共享内存中存储- -个flag。3.要求打印的结果有序。
2023-05-12 20:17:28 91
原创 数据结构:结构体数组嵌套和计算结构体大小
三、有若干个学校人员的信息,包括学生和教师。其中学生的数据包括: 姓名、性别、职业s/S、分数。教师的数据包括:姓名、性别、职业t/T、职务。大小为:4+2+2(空字节)+4+4(空字节)+8+8(数组指针)=32。5,输入一个商品名称,查找单价信息。1,定义函数在堆区申请空间n。3,定义函数输出学校人员信息。4,定义函数计算学生平均成绩。1,定义函数在堆区申请空间。5,定义函数计算老师的个数。4,计算最贵的商品信息。6,实现商品按单价排序。一、定义商品结构体:名称,单价,个数。2,定义函数实现输入。
2023-04-18 22:31:04 276
原创 数据结构:结构体的动态分配空间与回收
1>if(条件)条件是价格的比较(p+j)->price (p+j+1)->price2>交换的是整个车的信息。交换的是*(p+j)和(pj+1)对应的整体信息3>注意中间变量t的类型,应该是结构体类型。在堆区申请5个连续的存储空间,实现车辆信息的输入 品牌,颜色,价格)例如:(p+j)表示整个车的地址。*(ptj)表示整个车的信息。1>调用函数在堆区申请空间。思路:和正常的冒泡是一样的。3>调用函数对价格排序。2>调用函数实现输入。
2023-04-17 20:44:21 136
原创 网络编程:UDP协议基础服务器以及客户端的搭建
UDP的适用场景:适用于对传输质量比较低,以及传输小尺寸数据。在需要强求实时性的场景下或者给出应答比较苦难的情况下。b.数据不能保证可靠,数据有可能在从传输过程中丢失,或者出现数据重复,失序等情况。a.无连接的,不保证可靠的,尽力的传输协议。c.由于UDP无应答,所以UDP的传输效率高。e.数据的收发是同步的,数据不会粘包。d.限制每次传输的数据大小。UDP ----- 快速。
2023-03-13 21:16:35 325
原创 网络编程基础:字节序的验证(共用体)
3.char单字节,float double浮点类型,宇符串以上均没有宇节序的说法。用共用体的方式验证字节序。1字节序是计算机存储。类型就需要主机字节序。
2023-03-10 11:23:39 102
原创 C语言:进程间通信信号机制(IPC)实现进程间互相输入输出
1.A进程先发送一句话给B进程,B进程接收后打印b.B进程再回复一句话给A进程。3.重复1.2步骤,当收到quit后,要结束AB进程。要求实现AB进程对话。2.A进程接收后打印。
2023-03-06 23:20:13 377
原创 C语言:IO线程用条件变量实现三个线程循环打印ABC
用条件变量实现,有编号为ABC的三个线程,线程内分别打印自己的线程编号,要求打印的顺序为ABC。
2023-03-05 23:17:16 396
原创 C语言:IO线程用信号量实现对文件的读取与打印
将一个文件中的数据打印到终端上,类似cat一个文件。2、B线程将A线程读取到的数据打印到终端上。3、文件打印完毕后,结束进程。1、A线程读取文件中的数据。
2023-03-05 23:14:24 240
原创 要求定义一个全局变量char buf[]=“1234567“,创建两个线程,不考虑退出条件。
【代码】要求定义一个全局变量char buf[]="1234567",创建两个线程,不考虑退出条件。
2023-02-28 23:36:09 98
原创 标准IO函数:计算一个文件有几行,封装成函数计算一个文件的大小,封装成函数
【代码】标准IO函数:计算一个文件有几行,封装成函数计算一个文件的大小,封装成函数。
2023-02-21 22:39:09 70
原创 shell语句的if判断语句、while循环语句、for循环语句以及 break和continue的用法
输入文件名,判断是否为普通文件,如果为普通文件,判断是否为脚本文件,如果为脚本文件,判断是否有可执行权限,如果没有可执行权限,添加可执行权限。打印九九乘法表,printf "%d * %d = %d\t" i j $((i*j))输入一个无符号的八位数,输出他的二进制。
2023-02-16 22:40:51 121
原创 Shell编程: 1. 使用数组统计用户家目录下文件的个数 2. 输入学生成绩,输出成绩等级
2.将学生成绩分类并输出成绩等级。1.定义数组初始化元素。
2023-02-15 21:06:53 161
原创 A[n.m]是一个n行m列的矩阵a表示的第i行列的元素,定义为A的第i行和第j列除了a[i,j]之外所有元素(共n+m-2个)的乘积
A[n.m]是一个n行m列的矩阵a表示的第i行列的元素,定义为A的第i行和第j列除了a[i,j]之外所有元素(共n+m-2个)的乘积即x[i,j]=a[i,1]*a[i,2]*...*a[i,j-1]*...*a[i,m]*a[1,j]*al2,j]...*a[i-1,j]+*a[n,j],现输入非负整形的矩阵A[n,m],求MAX(x[i,j])小即所有的x[i,j]中的最大值。输入描述:第一行两个整数n和m。之后n行输入矩阵,均为非负整数。输出描述一行输出答案。
2023-02-13 23:53:58 275
原创 在Ubuntu如何配置桥接网络
VMnet0 --->用于桥接模式,可以选择桥接到哪个网卡上,默认选择为自动;2)VMware菜单栏编辑----->虚拟网络编辑器。则说明网络配置失败 翻回去看之前操作有无失误问题。1)打开虚拟机设置点击网络配适器选择VMnet0。将主机的地址,子网掩码,网关和DNS手动添加进去。查看电脑的网络详细找到桥接的网络类型。在终端ping一下网址如果显示。4)手动配置网络操作。
2023-02-13 23:41:42 1958
原创 1、有序单链表:随机输入n个单字符【无序的】,输出升序的结果例如:输入dahkew ,输出adehkw 2、单向链表,实现‘b‘--‘h‘字符的逆置
单链表的输入输出和字符逆置
2023-02-07 23:26:24 241 1
原创 定义学生结构体属性: 姓名,年龄,分数,输入姓名key查找key是否出现,存在则输出所有信息,否则提示查找失败。
【代码】定义学生结构体属性: 姓名,年龄,分数,输入姓名key查找key是否出现,存在则输出所有信息,否则提示查找失败。
2023-01-31 23:48:45 111
原创 结构体指针练习:(p+i)->(*(p+i)) 在堆区申请5个连续的存储空间,实现车辆信息的输入(品牌,颜色,价格)
1>调用函数在堆区申请空间。3>调用函数对价格排序。2>调用函数实现输入。
2023-01-30 22:54:29 102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人