一 关键字static小结
1.在函数内。定义一个变量为static变量时,则该变量默认初始值为0,并且该变量的值在函数调用过程中保持不变。
2.在一个模块内,函数体外。定义一个变量为static变量时,则该变量只能被模块内函数调用。
3.在模块内,定义一个函数为static类型时。则该函数只能被模块内函数调用。
目的:使用static可以有效保证代码的数据的本地化和函数应用范围的控制,为在代码集成时减少命名冲突等不必要的麻烦。当然,static的功能还不止这些,后续再补充。
二 关键字const小结
1.修饰变量。const从广义的角度可以理解为“只读”,意思为它修饰的变量的值不可改变。
const int a;
Int const a;
const int *a;
Int *const a;
const int * const a;
上面前两个效果一样,都表示整形数a的值不可修改,不过一般实际应用时要赋上初始值。第三个表示指向常量整形数的指针。第四个表示指向整形数的常量指针。第五个表示指向常量整形数的常量指针。
2.修饰函数的参数。表示该参数在函数内部不可改变其值,减少bug的出现。
3.修饰函数。在C++类的成员函数中,若被const修饰,则表明该函数是常函数,不能改变类的成员变量。
目的:使用const可以防止代码数据的无意修改,增强代码健壮性。当然,const的功能还不止这些,后续再补充。