static作用const作用

static:

1.声明为static的变量,即使是在函数内部;它也仅仅初始化一次,被存放在全局数据段内;

2.声明为static的全局变量,仅仅在本文件中具有可见性;其他文件不可见,防止命名冲突;

3.声明为static的函数,同2;

类:

3.声明为static的成员函数,是作为类的静态函数,为所有该类的对象所共享,且内部不能够有动态成员变量。

4.声明为static的成员变量,是作为类的静态成员,为所有该类的对象所共享。 


const:

1.声明为const的变量是只读的,不可修改的。(不过可以通过指针方式改写)

2.声明为const的成员函数内部是不可以修改类的数据成员的。


const比起#define来说,具有以下好处:

1,const 进行类型检查
2.  const支持一些编译器的断点调试

常量指针(const p:修饰指针,指针本身不可变),指针常量(const *p:修饰变量,指针可变,所指的地址不可变):

int a;

int * const p = &a    //指针常量,*p可以修改*p = 8;(OK)

p不可以修改 p++(ERROR)

int a,b;

const int *p = &a;//常量指针    *p不可修改 *p = 8;(ERROR)

p 可以修改 p = &b  (OK)


重载,覆盖,隐藏

重载:同一个作用域,同名子,不同参数

覆盖:利用多态性质

隐藏:子类不小心取了个与类同样名字的成员函数,本来用户打算调用父类的,因为隐藏了,所以就调用子类的了。

  隐藏与覆盖的区别,区别不打,只是覆盖方式子类中就没有父类的方法了;而隐藏则子类中还是有父类的方法,还占据内存空间的。


tcp协议和udp协议的差别 
TCP UDP 
是否连接 面向连接 面向非连接 (tcp在链接和释放链接的时候是需要资源的,而udp则可以免去这些耗时操作)
传输可靠性 可靠 不可靠  (有序的,稳定的,不出错的、乱序的,不稳定的,)
应用场合 传输大量数据 少量数据 (字节流的,数据块的)
速度 慢 快(需要一些机制保证其稳定,所以慢点;udp则传出去就不管了,无需那些检查和重传机制,所以快点)
数据包不包含地址信息的,数据包包含了地址信息。


3次握手:

1.客户发出链接 SYN +序列J

2.服务端回应ASK j+1, SYN k

3.客户端回应ASK k+1


4次销毁:


 一个socket的创建链接过程:

客户:

1.socket建立socket套接字

2.调用bind()绑定地址,传入他指定的参数,参数得转成网络字节序列的格式

3.调用connect.


服务:

1.socket()

2.bind()

3.listen()

4.accept()

5.处理一个客户的链接(多线程模式比较好)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值