顺网科技c++一面

1.static的作用:
①:首先static的最主要功能是隐藏,其次因为static变量存放在静态存储区,所以它具备持久性和默认值0.

②:定义全局静态变量和局部静态变量:在变量前面加上static关键字。初始化的静态变量会在数据段分配内存,未初始化的静态变量会在BSS段分配内存。直到程序结束,静态变量始终会维持前值。只不过全局静态变量和局部静态变量的作用域不一样;

③定义静态函数:在函数返回类型前加上static关键字,函数即被定义为静态函数。静态函数只能在本源文件中使用;

④在变量类型前加上static关键字,变量即被定义为静态变量。静态变量只能在本源文件中使用;

⑤在c++中,static关键字可以用于定义类中的静态成员变量:使用静态数据成员,它既可以被当成全局变量那样去存储,但又被隐藏在类的内部。类中的static静态数据成员拥有一块单独的存储区,而不管创建了多少个该类的对象。所有这些对象的静态数据成员都共享这一块静态存储空间。

⑥在c++中,static关键字可以用于定义类中的静态成员函数:与静态成员变量类似,类里面同样可以定义静态成员函数。只需要在函数前加上关键字static即可。如静态成员函数也是类的一部分,而不是对象的一部分。所有这些对象的静态数据成员都共享这一块静态存储空间。

⑥当调用一个对象的非静态成员函数时,系统会把该对象的起始地址赋给成员函数的this指针。而静态成员函数不属于任何一个对象,因此C++规定静态成员函数没有this指针。既然它没有指向某一对象,也就无法对一个对象中的非静态成员进行访问。

2.static修饰一个全局函数的作用:
隐藏,将作用域限制在本源文件中,防止对其他源文件进行命名污染。

3.static修饰的成员函数如何使用对象的变量:
传入对象的指针;

4.unordered_map底层是什么:
哈希表

5.哈希表的增加,删除,查找的复杂度为多少:
O(1)

6.简单描述一下BFS:
BFS相当于初态不断向外扩展,一般借助队列实现,从队头获取一个状态,将该状态能到达的状态放入队尾,直到队列为空。

7.tcp三次握手:
首先客户端将序列号并将SYN=1发送给服务器请求连接
服务器收到请求后将ACK=1的确认应答附在请求连接的SYN=1请求连接上,并发送序列号
客户端收到后回复一个确认应答

其余的有点忘了,只记得这么多了

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-26 18:54
说等下个版本吧的发呆爱好者很贪睡:佬最后去了哪家呀
点赞 评论 收藏
分享
过往烟沉:我说什么来着,java就业面就是广!
点赞 评论 收藏
分享
10-21 23:48
蚌埠坦克学院
csgq:可能没hc了 昨天一面完秒挂
点赞 评论 收藏
分享
评论
1
3
分享
牛客网
牛客企业服务