文档介绍:请简述static,const,inline的定义及用法
static:
,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值。
在模块内的static全局变量可以被模块内所有函数访问,但不能被模块外其他函数访问。
在模块内的static函数只可被这一模块内的其他函数调用,这个函数的使用范围被限制在声明它的模块内。
在类中的static成员变量属于整个类所有,对类所有对象只有一份拷贝。
在类中的static成员函数属于整个类所拥有,这个函数不接受this指针,因而只能访问类的static成员变量。
Const:
1、定义常量(1)const修饰变量,以下两种定义形式在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。
TYPE const ValueName = value; 
     const TYPE ValueName = value;
(2)将const改为外部连接,作用于扩大至全局,编译时会分配内存,并且可以不进行初始化,仅仅作为声明,编译器认为在程序其他地方进行了定义.
     extend const int ValueName = value;
2、指针使用CONST(1)指针本身是常量不可变
     (char*) const pContent; 
     const (char*) pContent; 
(2)指针所指向的内容是常量不可变
     const (char) *pContent; 
     (char) const *pContent; 
(3)两者都不可变
      const char* const pContent; 
(4)还有其中区别方法,沿着*号划一条线:如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;
如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量。
3、函数中使用CONST
(1)const修饰函数参数
(无意义,因为Var本身就是形参)
void function(const int Var);
void function(const char* Var);
(也无意义,因为char* Var也是形参)
void function(char* const Var);
,为了增加效率同时防止修改。修饰引用参数时:
void function(const Class& Var);//引用参数在函数内不可以改变
void function(const TYPE& Var); //引用参数在函数内为常量不可变
这样的一个const引用传递和最普通的函数按值传递的效果是一模一样的,他禁止对引用的对象的一切修改,唯一不同的是按值传递会先建立一个类对象的副本,然后传递过去,而它直接传递地址,,因为临时对象都是const属性, 且是不可见的,他短时间存在