static變量的兩層含義

1、定義局部變量爲static,並給予一個初始值,那麼這個變量的初始化只會在函數第一次被調用時執行。

下面是一個例子,摘自《Thinking in C++》

 

察看此例子的結果,可以很好的理解上面所說的這一點。這樣使用而不使用全局變量來達到同樣目的的原因在於,在函數範圍之外它是不可操作的,錯誤會被局部化。(全局變量是個相當討厭的東西)。

2、和前面意思有點相關,表明“在某個作用域外不可用”。比如說,在一個文件中用static聲明一個變量,那麼這個文件外部,這個聲明是無法被訪問的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章