全局變量盡量少使
比如
我在一個檔案中定義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()總能傳回正确的結果,原因在于,函數内部的靜态變量是在第一次通路的時候來初始化。
以此類推,如果是自定義類型的全局變量,隻需在函數的傳回類型上加上&,表示傳回靜态變量的引用