复习
文章平均质量分 97
Jxiepc
一个努力向上的男同志
展开
-
【复习整理归纳】| C++面经(内存管理)
5.1 只能在堆上方法:将析构函数设置为私有;原因:C++ 是静态绑定语言,编译器管理栈上对象的生命周期,编译器在为类对象分配栈空间时,会先检查类的析构函数的访问性。若析构函数不可访问,则不能在栈上创建对象;5.2 只能在栈上方法:将new 和 delete 重载为私有;原因:在堆上生成对象,使用 new 关键词操作,其过程分为两阶段:第一阶段,使用 new 在堆上寻找可用内存,分配给对象;第二阶段,调用构造函数生成对象。将 new 操作设置为私有,那么第一阶段就无法完成,就不能够在堆上生成对象。原创 2022-11-05 10:22:09 · 936 阅读 · 0 评论 -
【复习整理归纳】| C++面经(面向对象)
①对于凡是包含动态分配成员或包含指针成员的类都应该提供拷贝构造函数;②在提供拷贝构造函数的同时,还应该考虑重载"="赋值操作符号。什么情况下会调用拷贝构造函数用一个类初始化另一个类,会产生临时对象,把对象拷贝给临时对象,函数执行完先析构局部变量,在析构临时对象;函数的参数时类对象时;函数返回值时局部对象;原创 2022-10-19 10:57:49 · 366 阅读 · 0 评论 -
【复习整理归纳】| C++面经(函数相关)
跟踪调用栈是通过CPU中叫做栈指针stack pointer的寄存器来完成的(注意这里的指针不是C语言中的指针,这里的指针指的是寄存器);,对于库代码只需将程序中所用的函数提取即可。且将源代码中的库代码与目标形成计算机可识别的二进制机器代码即可执行程序;因为该代码只是存储编译器翻译的源代码,并不是一个完整的程序;,编译器无法知道运行期调用哪个代码,因此虚函数表现为多态性时(运行期)不可以内联;如果 inline 函数有多个返回点,将其转变为 inline 函数代码块。的其他函数都会自动隐式地当成内联函数。原创 2022-10-19 10:50:09 · 278 阅读 · 0 评论 -
【复习整理归纳】| C++面经(基础概念、线程、进程)
①对于凡是包含动态分配成员或包含指针成员的类都应该提供拷贝构造函数;②在提供拷贝构造函数的同时,还应该考虑重载"="赋值操作符号。只能在堆上方法:将析构函数设置为私有;原因:C++ 是静态绑定语言,编译器管理栈上对象的生命周期,编译器在为类对象分配栈空间时,会先检查类的析构函数的访问性。若析构函数不可访问,则不能在栈上创建对象;只能在栈上方法:将new 和 delete 重载为私有;原创 2022-10-10 23:51:18 · 780 阅读 · 0 评论 -
【复习整理归纳】| C++面经(STL及项目)
run函数内部创建idle协程用来执行idle以及一个执行协程,会先去任务队列中获取任务,获取到任务后通知执行,如果没有任务可取,则陷入idle中;起初采用将虚表扩大,让此处容纳所需的this指针,此时表中每一个slot不在是一个指针,而是一个集合体,内含offset以及函数地址;【Servlet】:为基类,提供名字来区分不同的服务器,其中继承的子类需要实现handle对请求做出相应的处理,设置响应信息;stop函数,首先判断停止条件是否满足,若不满足,则还有任务没有执行完毕,则提醒一下协程,有任务进来;原创 2022-10-10 23:50:46 · 1153 阅读 · 0 评论 -
【复习整理归纳】| C++面经(网络相关)
而TCP协议可以将多个数据包—起发送并接收(前提是接收方缓冲区剩余大小要能接收这多个数据),即接收方不保证一次只接收一条信息,所以TCP才存在粘包问题。没有句柄就绪,则会阻塞应用程序;【往返时间RTT】:从发送方发送数据开始,到发送方收到接收方的确认(接收方收到数据后立即发送确认)总共经历的时延;,合并成一个大的数据块,这样会导致接收方难以分辨原来数据包,故Nagle算法可能会导致发送方出现粘包问题。分组重复:发送的数据迟迟没有被接收到,重新发送后,原先的数据也被接收到了;)来获取接收方的IP地址;原创 2022-10-10 23:50:16 · 518 阅读 · 0 评论