摘要:
1.STL六大组件? 容器,迭代器,算法,仿函数,空间配置器,容器配接器。 容器:各种数据结构,如vector、list、deque、set、map等,用来存放数据,从实现角度来看,STL容器是一种class template。 算法:各种常用的算法,如sort、find、copy、for_each 阅读全文
posted @ 2021-08-09 11:13
holmes_now
阅读(60)
评论(0)
推荐(0)
摘要:
auto_ptr、unique_ptr策略:建立所有权概念,对于特定的对象,只有一个智能指针可以拥有它,这样只有拥有对象的智能指针的构造函数才能删除该对象。然后,让赋值操作转让所有权。unique_ptr的策略更严格。 shared_ptr:采用引用计数。类中有一个计数器,赋值时加1,过期时减1,当 阅读全文
posted @ 2021-08-09 11:09
holmes_now
阅读(67)
评论(0)
推荐(0)
摘要:
五种IO模型1:阻塞IO:再内核将数据准备好之前,系统调用会一直等待;(所有的套接字默认都是阻塞方式) 2:非阻塞IO:如果内核未将数据准备好,系统调用仍然会直接返回,并且返回EWOULDBLOCK错误码。(非阻塞IO往往需要程序员循环的方式反复尝试读写文件描述符,这个过程成为轮回。对cpu来说是很 阅读全文
posted @ 2021-08-09 10:47
holmes_now
阅读(343)
评论(0)
推荐(0)
摘要:
粘包、拆包发生原因发生TCP粘包或拆包有很多原因,现列出常见的几点,可能不全面,欢迎补充,1、要发送的数据大于TCP发送缓冲区剩余空间大小,将会发生拆包。2、待发送数据大于MSS(最大报文长度),TCP在传输前将进行拆包。3、要发送的数据小于TCP发送缓冲区的大小,TCP将多次写入缓冲区的数据一次发 阅读全文
posted @ 2021-08-09 10:34
holmes_now
阅读(330)
评论(0)
推荐(1)
摘要:
C++内存管理中内存泄露(memory leak)一般指的是程序在申请内存后,无法释放已经申请的内存空间,内存泄露的积累往往会导致内存溢出。 一、内存分配方式 通常内存分配方式有以下三种: (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量, 阅读全文
posted @ 2021-08-09 10:32
holmes_now
阅读(67)
评论(0)
推荐(0)
摘要:
关键问题点:const 属于修饰符 ,关键是看const 修饰的位置在哪里 1、const int *a 这里const 修饰的是int,而int定义的是一个整值 因此*a 所指向的对象 值 不能通过 *a 来修改,但是 可以重新给 a 来赋值,使其指向不同的对象 eg: const int *a 阅读全文
posted @ 2021-08-09 10:18
holmes_now
阅读(163)
评论(0)
推荐(0)
摘要:
C++的hash表中有一个负载因子loadFactor,当loadFactor<=1时,hash表查找的期望复杂度为O(1).因此,每次往hash表中添加元素时,我们必须保证是在loadFactor <1的情况下,才能够添加。 因此,当Hash表中loadFactor==1时,Hash就需要进行re 阅读全文
posted @ 2021-08-09 09:45
holmes_now
阅读(152)
评论(0)
推荐(0)
摘要:
红黑树是一种自平衡的二叉查找树。 1.每个结点是红色或者黑色的。 2、根结点是黑色的。 3、每个空结点(NULL/NIL)是黑色的。(这里将空结点作为一个特殊的结点对待,设定他们必须是黑色的。) 4、如果一个结点是红色的,则它的左右子结点都必须是黑色的。(但黑色结点的子结点可以是黑色的。) 5、对任 阅读全文
posted @ 2021-08-09 09:08
holmes_now
阅读(286)
评论(0)
推荐(0)
摘要:
1.C++ this 指针介绍一下 通常在class定义时要用到类型变量自身时,因为这时候还不知道变量名(为了通用也不可能固定实际的变量名),就用this这样的指针来使用变量自身。一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。 阅读全文
posted @ 2021-08-09 09:07
holmes_now
阅读(22)
评论(0)
推荐(0)
摘要:
原因如下 B+树能显著减少IO次数,提高效率 B+树的查询效率更加稳定,因为数据放在叶子节点 B+树能提高范围查询的效率,因为叶子节点指向下一个叶子节点 索引如何优化: 慢查询日志、查磁盘的I/O读写的数据量、show status MySQL可以设置慢查询日志,当SQL执行的时间超过我们设定的时间 阅读全文
posted @ 2021-08-09 08:58
holmes_now
阅读(205)
评论(0)
推荐(0)

浙公网安备 33010602011771号