1. static 让函数有了“时态”
所谓时态即是有状态的,而非无状态的,函数的状态会随着函数被调用次数的增加而发生变化。函数内部的 static 型变量只初始化一次,只在第一次被调用时进行初始化,后续调用时,直接进行处理,而不会再去执行初始化的动作。
有点类似于 Python 中字典类型的 setdefault(key, init) 设置键的默认值的方法。
2. 空间占用
之所以会存在 part 1 中说出现的情况,表明,静态局部变量在全局中只保留一份,有一种类似全局变量的感觉。
所谓时态即是有状态的,而非无状态的,函数的状态会随着函数被调用次数的增加而发生变化。函数内部的 static 型变量只初始化一次,只在第一次被调用时进行初始化,后续调用时,直接进行处理,而不会再去执行初始化的动作。
有点类似于 Python 中字典类型的 setdefault(key, init) 设置键的默认值的方法。
之所以会存在 part 1 中说出现的情况,表明,静态局部变量在全局中只保留一份,有一种类似全局变量的感觉。