全局變量儘量少使
比如
我在一個文件中定義a=10,在另一個模塊中定義b=a
此時你一定認爲b=10
但是這裏很可能不是10,因爲不同模塊的全局變量初始化是不確定的
有可能b先被初始化,那麼b就是一個不確定的值了
所以,爲了解決這個問題
我們需要在函數中使用局部靜態變量
int get_a()
{
static int a = 10;
return a;
}
int get_b()
{
static int b = get_a();
return b;
}
通過這個方法,無論get_a()和get_b()是否在同一個文件中,get_b()總能返回正確的結果,原因在於,函數內部的靜態變量是在第一次訪問的時候來初始化。
以此類推,如果是自定義類型的全局變量,只需在函數的返回類型上加上&,表示返回靜態變量的引用