1、定义局部变量为static,并给予一个初始值,那么这个变量的初始化只会在函数第一次被调用时执行。
下面是一个例子,摘自《Thinking in C++》
察看此例子的结果,可以很好的理解上面所说的这一点。这样使用而不使用全局变量来达到同样目的的原因在于,在函数范围之外它是不可操作的,错误会被局部化。(全局变量是个相当讨厌的东西)。
2、和前面意思有点相关,表明“在某个作用域外不可用”。比如说,在一个文件中用static声明一个变量,那么这个文件外部,这个声明是无法被访问的。
1、定义局部变量为static,并给予一个初始值,那么这个变量的初始化只会在函数第一次被调用时执行。
下面是一个例子,摘自《Thinking in C++》
察看此例子的结果,可以很好的理解上面所说的这一点。这样使用而不使用全局变量来达到同样目的的原因在于,在函数范围之外它是不可操作的,错误会被局部化。(全局变量是个相当讨厌的东西)。
2、和前面意思有点相关,表明“在某个作用域外不可用”。比如说,在一个文件中用static声明一个变量,那么这个文件外部,这个声明是无法被访问的。