C++ 静态对象
一:什么是静态对象? 对象的存储方式是静态的。 局部静态对象和类的静态对象。 局部静态对象:一个变量在函数内部定义,其生命周期跨越了该函数的多次调用。局部对象确保不迟于在程序执行流第 一次经过该对象的定义语句时进行初始化。这样的对象一旦被创建,在程序结束之前都不会销毁。在定义局部静态对象的函数执行完毕后,该静态对象不会撤销。当该函数被多次调用的过程中,静态局部对象会持续存在并保存它的值。 静态成员对象:静态成员对象存储在全局存储区,静态成员对象的作用域在类的作用域中。其可以避免与其他类成员或全局对象名字冲突。可以封装为私有的,而全局对象不可以。 二:定义及初始化 允许对构造类静态局部量赋初值。若未赋以初值,则由系统自动赋值。数值型变量自动赋初值0,字符型变量赋空字符。 对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值。而对自动变量 不赋初值,则其值是不定的。 局部静态对象: int fun(int i){ static int a = 10; a = a+i; return a;}int main(int argc, char *argv[]){ for(int i=0;i<3;i++) { cout <<fun(i)<<endl; }} 静态类成员对象 声明 :类的静态成员变量声明前加static,其也遵守公有/私有访问规则。 因为 static