面试题目记录~~
1、请写出static关键字尽可能多的作用,至少两点。
C语言:
(1)static修饰局部变量,会延长局部变量的生命周期。只会被初始化一次。
(2)static修饰全局变量和函数都表示隐藏,表示只能在本文件内使用,不允许被外部变量调用。
c++:
static用来修饰的是类中的成员变量和成员函数,被修饰的成员称为静态成员
静态成员变量:
(1)静态成员变量被当成类的成员,由该类的多个对象共享访问,对该类的所有对象来说,静态成员变量只会被分配一次内存。
(2)静态成员变量存贮在全局数据区,它在定义时分配空间,所以不能在类声明中定义,而在类体外,main函数外部定义,定义时需要加上作用域。
静态成员函数:
(1) 静态成员函数可以通过类名::函数名()的方式调用,也可以通过对象名,函数名()的方式调用。
(2) 静态成员函数没有this指针(this指针指代当前对象首地址,静态成员函数属于整个类,不属于某个对象,所以没有this指针)。
2、构造和析构
构造函数:
普通构造函数:
默认构造函数:
限制构造函数:
拷贝构造函数:
析构函数:
3、C++
封装
继承
多态
4、数据结构
5、Linux文件
bcd-lsp
6、进程的状态、类型
状态:进行态、等待态、停止态
类型:守护进程、交互进程、批处理进程
7、动态库、静态库
.a/.so\
编译/运行
可移植
8、交换机和路由器的区别
交换机:2层设备、
路由器:3层设备、网络层设备
9、三次握手四次挥手