在我编写的程序中,我有几个函数,它们使用一个需要用一个非常慢的函数来计算的值。这个值在每次程序重新运行时都会改变,所以我不能只存储一个静态值。下面是一个例子。this_gets_called_frequently() static int value = slow_function();
}
我这里的主要问题不是程序不工作我真的不想初始化一个全局变量</em
static关键字将全局变量的作用域限制为该转换单元。如果我在.h文件中使用static int x,并每隔一个文件包含该.h文件,那么它们不都属于同一个转换单元吗?那么,x不是处处可见吗?那么静态现在的作用是什么呢?
另外,有没有使用static const int x,其中x是全局变量?默认情况下,所有const全局变量不都是静态的吗?常量变量的作用域是否仅限于TU,即使它被限制在文件中的for