静态变量的实现原理其实就是在编译器里用mem标记静态变量是否被被初始化,初始化为1,未初始化为0…下次要求初始化即跳过。
静态变量,作为一个简单但没必要,可以用其他编程逻辑实现的逻辑,却给编程添了不少麻烦。
静态变量在英语或中文里都违反自然语言学逻辑,容易人工阅读代码段时误判执行结果。
变量本来就应该能变动,一个能变动的变量因为能跳过非首次初始化,能连续运算叫做静态变量,在中文或英文语言学逻辑上都是反直觉的,还不如叫跳跃变量、连续变量、非首次初始化无效变量,为了区别于静态变量,又把本来能变动的变量叫动态变量…还不如叫不连续变量,但显然变量不能连续变动也是不符合逻辑的描述,因为任何变量都应该能连续变动,不然应该定义为常量。