靜態變量和常量的區別?
區別:
1、(本質)static是類型引用,const是實例引用。
2、(初始化)靜態變量的初始值必須是一個常量。靜態初始值默認為0,而常量也默認為0(嗎?)。
3、(賦值)靜態變量的值在運行時可以更改賦值,而常量的值是不可改變的,運行一開始已經固定,之后修改會報錯。
4、(內存)靜態變量存放在全局數據區中,伴隨著這個程序流程,能將此變量的值保留到下次調用,不過數據過大的靜態變量有可能造成內存泄露。 而const常量算是一個普通的只讀變量,隨函數結束而結束。在C里,const常量總是會分配內存,位于只讀數據段。在C++,如果const常量在沒有聲明為extern,那么就是一個編譯時的符號,不占用內存。
下一篇APP技術實現原理