
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
头文件set主要包括set和multiset(两者方法相同,所以以下只用set举例)两个容器,分别是“有序集合”和“有序多重集合”,即前者的元素不能重复,而后者可以包含若干个相等的元素,两者都会将其容器内的元素从小到大自动排序。C++中的string类相当于是字符数组,但是其更方便于我们的操作,而且不需要在输入之前初始化字符数组的容量,节省空间。为了保证效率,元素的增删一般应该在末尾进行。pair
编程序时,需要用到一些函数,这些函数只用一次,而为了这些只用一次的函数而专门写一大段代码很麻烦,所以有了lambda表达式。其实就是低配版版的函数。
非阻塞 I/O + epoll 的编程需要你手动维护每个连接的状态(读半包、写半包、缓冲区管理)。稍不注意就漏掉某个事件,或者重复读取,导致死循环或数据错乱。Reactor 把这些底层状态管理封装进框架,开发者只需要填回调逻辑。Epoll中,rbuffer容量为1024,如果一次发的数据超过1024,那么存不下来。简单说:传统的“一个连接一个线程”模式,在成千上万的并发连接面前会崩溃。返回一堆就绪
维度内容主要作用创建一个套接字对象,返回文件描述符,用来后续接收客户端的链接。三个参数domain(协议族)、type(服务类型)、protocol(具体协议,多数为0)核心产出一个通信端点,可以是 TCP、UDP、原始包、本地通信等不同形态。后续配合bindlistenacceptconnectsendrecv等系统调用。角色核心函数作用客户端connect()触发三次握手的开始(发送 SYN
用户态内核态├─ 写入 SQ (共享内存)│├─ 更新 SQ tail ───→├─ 读取 SQ,异步执行 I/O│├─ 工作线程/fast-poll 处理。
红黑树原理,代码实现
然后依次把vector容器里的所有终端的show功能全部调用,把计算的数据(temper)输入进去。每个儿子都写好后,通过父类指针,指向子类对象,就可以调用各个儿子准备的节目了。如果有新儿子表演新节目,直接继续创建儿子类,重载爹定下的表演节目即可。使用场景:某个品牌动物园,有一套固定流程,但是其中有若干个表演子流程可以创新替换,以尝试迭代更新表演流程。定义出终端类,只定义显示功能(虚函数),不写具
头文件set主要包括set和multiset(两者方法相同,所以以下只用set举例)两个容器,分别是“有序集合”和“有序多重集合”,即前者的元素不能重复,而后者可以包含若干个相等的元素,两者都会将其容器内的元素从小到大自动排序。C++中的string类相当于是字符数组,但是其更方便于我们的操作,而且不需要在输入之前初始化字符数组的容量,节省空间。为了保证效率,元素的增删一般应该在末尾进行。pair
一、作用传统指针管理起来非常的麻烦,极易内存泄漏(申请一块内存空间,指针却丢了),重复释放(已经释放一块内存了,后面还要释放这一块)等各种情况。所以引入智能指针,归根结底就是为了方便。二、智能指针类型:auto ptr 现在已经不用了。share ptr,weak ptr, unique ptr三种。share ptr内部有两个东西,一个是指向实际内存的指针,另一个是记录指向该地址的指针的数量的计
维度内容主要作用创建一个套接字对象,返回文件描述符,用来后续接收客户端的链接。三个参数domain(协议族)、type(服务类型)、protocol(具体协议,多数为0)核心产出一个通信端点,可以是 TCP、UDP、原始包、本地通信等不同形态。后续配合bindlistenacceptconnectsendrecv等系统调用。角色核心函数作用客户端connect()触发三次握手的开始(发送 SYN







