new和malloc的区别
- new/delete是c++关键字需要编译器支持,malloc/free是库函数,需要库支持
- new 无需指定申请的大小,系统自动识别,并返回相应的对象指针,malloc需要指定申请内存的大小并且返回值为void*类型需要进行强制转换。
TCP为什么进行三次握手而不是两次握手
- 首先确定三次握手是什么,然后客户端和服务端都需要维护一个序列号这样才能标识发出的哪些数据包被对方收到,第二次握手确定了客户端的序列号,第二次握手服务端发出序列号等待确认,第三次则是确认服务端发出的序列号,如果没有第三次握手服务端的序列号则会得不到确认。
static的作用
- 在c++类中,static的存在是为了能够随时改变但是却不需要new出一个新类来调用他,是类的成员但不是对象的成员,本身不含this指针。
- 不能把静态成员函数设置为虚函数。
- static并没有增加程序的时空开销,相反她还缩短了子类对父类静态成员的访问 时间,节省了子类的内存空间。
shutdown和close的区别
- shutdown和close对应的系统操作不一样
- shutdown仅可以用与套接字描述符,并且不可以用于已经关闭的套接字描述符,但是不可以释放套接字描述符仅仅断开连接,而close可以用于任意的描述符,可以释放套接字描述符。
- shutdown可以关闭读写通道,而close不可以。
后续会更新。。。