自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++每日八股文-----epoll实现多路IO转接

1、函数APIint epoll_create(int size);//创建一棵监听红黑树size:创建红黑树监听节点的数量(仅供内核参考)返回值:指向创建的红黑树的根节点的fd(文件描述符) 失败返回-1int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event)//操作监听红黑树epfd:epoll_create函数的返回值op:对该监听红黑树所做的操作。  EPOLL_CTL_ADD:添加fd到红黑树  EP

2022-05-07 18:27:43 498

原创 c++每日八股文----socket多进程并发

1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <unistd.h> 4 #include <fcntl.h> 5 #include <string.h> 6 #include <strings.h> 7 #include <sys/socket.h> 8 #include <netinet/in.h> 9 #incl..

2022-05-06 16:52:42 646

原创 c++每日八股文---TCP三次握手和四次挥手

一、 三次握手第一次握手:客户端给服务器发送SYN(专门用于建立连接通信的标志位)报文,并指明客户端的初始化序列号 ISN,此时客户端处于STN_SENT状态。1000(ISN):数据包的包号 默认从0开始。(0):包所携带的数据大小(SYN= 1)的报文段不能携带数据,所以为0。<ms 1460> :传递数据的上限第二次握手:服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,并且也是指定了自己的初始化序列号 ISN(s)。同时会把客户端的 ISN + 1 作

2022-05-03 19:00:36 573

原创 c++每日八股文---socket实现简单的TCP通信

一 、流程二、网络字节序uint32_t htonl(uint32_t hostlong) //本地字节序转网络字节序(IP)uint16_t htons(unit16_t hsoshort) //本地字节序转网络字节序(端口)uint32_t ntohl(unit32_t netlong) //网络字节序转本地字节序(端口)uint16_t ntohs(unit16_t netshort) //网络字节序转本地字节序(端口)IP地址转换函数(常用的)int ine

2022-05-02 14:54:11 1371

原创 c++每日八股文 Linux循环创建子进程

1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<unistd.h> 4 5 6 int main(int argc, char *argv[]) 7 { 8 pid_t pid; 9 int i = 0; 10 for(i = 0; i < 5; i ++){ 11 pid = fork(); 12 if (p..

2022-04-26 13:58:27 939

原创 c++每日八股文 面向对象三大特性

一、封装封装就是把客观的事物封装成抽象的类,并且类可以对自己的数据或方法只让只让信任的类或者对象操作,对不可信的对象进行信息隐藏。在一个对象内部,某些方法和数据可以是私有的,不可以被外界访问,通过这种方式,对对象内部的不同数据提供了不同级别的保护,防止与程序无关的意外使用或改变了对象的私有部分二、继承继承是指让某个类型的对象获得另外一个类型的的对象的的属性的方法。继承可以实现:使用现有类的功能,并且在无需编写原来类的情况下对原来类的功能进行扩展。通过继承创建的新类称为子类或者派生类,被继承的类称为父

2022-04-22 20:23:14 824

原创 c++每日八股文 函数指针和指针函数

一、指针函数本质是一个函数,其返回值是一个指针#include<iostream>using namespace std;int* fun(int n){ static int sum = 0; for (int i = 0; i <= n; i++) { sum += i; } int* p = &sum; return p;}int main(){ int* p = fun(5); cout << "sum = " <&l

2022-04-21 20:58:32 962

原创 c++每日八股文 c和c++的区别

一、c++有新增的语法和关键字c++有自己定义的命名空间。动态内存管理方式不同,在mallco和free的基础上增加了new和delete。c++在指针的基础上增加了引用的概念。二、函数方面c++支持函数重载,c不支持函数重载 ,c++支持不同参数调用不同的函数三、类方面c++的struct可以有成员函数,c中的struct中不能有成员函数。四、c++增加了模板,提供了更加强大的STL标准库...

2022-04-20 19:52:42 769

原创 c++每日八股文 const关键字

一、const关键字指明变量或者对象的值不能被更新,引用目的是取代预编译指令二、const修饰全局变量限定全局变量的作用范围到其定义所在的编译单元(修饰的全局变量不允许被修改)三、const修饰局部变量修饰局部变量类似于宏定义,会将变量名替换为i初始值(但是可以改变其值)使用volatile关键字可以改变其初始值这里输出a的值为7, *p的值为8 通过volatile修饰的后const变量a的值也为8三、修饰指针const在指针前,修饰指针所指向的变量 (指针指向的对象为常量)。cons

2022-04-19 20:51:33 509

原创 c++每日八股文 static关键字

## c++static关键字static关键字------控制变量的存储方式和可见性一 、修饰局部变量一般情况下,局部变量存放在栈区,其生命周期在执行其包含语句后便结束。static关键字修饰之后,该局部变量存放在静态数据区,其生命周期延续到程序结束。注意:static关键字修饰之后并不能改变其作用域,作用域还是限制在语句块二、修饰全局变量static修饰的全局变量的作用域由整个工程变为本文件,使全局变量失去外部链接属性,变为内部链接属性三、修饰函数static修饰函数同全局变量,改变函数作

2022-04-18 20:25:35 334

空空如也

空空如也

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

TA关注的人

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