摘要:
一、epoll服务端实现中需要的3个函数: epoll_create:创建保存epoll文件描述符的空间。 epoll_ctl:向空间注册并注销文件描述符。 epoll_wait:与select函数类似,等待文件描述符发生变化。 二、示例 回声服务端: 1 #include <stdio.h> 2 阅读全文
摘要:
一、重叠I/O回声服务器端 服务端: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <WinSock2.h> 4 5 #define BUF_SIZE 1024 6 void ErrorHandling(char *message); 7 阅读全文
摘要:
重叠I/O就相当于异步I/O。 一、重叠I/O的I/O完成确认 1、使用事件对象 接收端: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <WinSock2.h> 4 5 #define BUF_SIZE 1024 6 void Erro 阅读全文
摘要:
回声服务器端: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <WinSock2.h> 4 5 #define BUF_SIZE 1024 6 void ErrorHandling(char *message); 7 void Compr 阅读全文
摘要:
一、内核对象 操作系统为了以记录相关信息的方式管理各种资源,在其内部生成数据块(可视为结构体变量)。当然,每种资源需要维护的信息不同,所以每种资源拥有的数据块格式也有差异。这类数据块称为“内核对象”。 内核对象就是为了管理线程、文件等资源而由操作系统创建的数据块,其创建者和所有者均为操作系统。 内核 阅读全文
摘要:
优先队列是由堆实现的。 1 #include <iostream> 2 #include <fstream> 3 #include <string> 4 5 template<typename T> 6 void swap(T &x, T &y) { 7 T temp = x; 8 x = y; 9 阅读全文
摘要:
几种排序算法的时间复杂度: 1、插入排序 1 #include <iostream> 2 #include <fstream> 3 #include <string> 4 5 const int maxn = 10005; 6 int arr[maxn]; 7 int n; 8 9 void ins 阅读全文
摘要:
一、多重继承与虚继承 1、多重继承 在派生类的派生列表中可以包含多个基类,每个基类包含一个可选的访问说明符。 多重继承的派生列表也只能包含已经定义过的类,而且这些类不能是final的。对于派生类能够继承的基类个数,C++没有进行特殊规定;但是在某个给定的派生列表中,同一个基类只能出现一次。 1)多重 阅读全文
摘要:
一、命名空间 命名空间为防止名字冲突提供了更加可控的机制。命名空间分割了全局命名空间,其中每个命名空间是一个作用域 1、命名空间定义 一个命名空间的定义包含两部分:首先是关键字namespace,随后是命名空间的名字。在命名空间名字后面是一系列由花括号括起来的声明和定义。 1 #include <i 阅读全文
摘要:
一、异常处理 异常处理机制允许程序中独立开发的部分能够在运行时就出现的问题进行通信并做出相应的处理。异常使得我们能够将问题的检测与解决过程分离开来。程序的一半部分负责检测问题的出现,然后解决问题的任务传递给程序的另一部分。 1、抛出异常 在C++语言中,我们通过抛出一条表达式来引发一个异常。被抛出的 阅读全文