C++中關於static的思考(一)

在複習過程中static是一個最簡單也最常見的知識點。而且各種資料都是有這個點的。我在想:各種面試都有這個點,應該絕對不是一個習慣,或者是這個比較好考,裏面應該是有很多知識點。下面我希望通過幾篇文章把這個東西說的清楚一點。

照慣例,要深入的學習一個東西,我們應該按照的流程是:怎麼使用?爲什麼一定要這麼使用?還有什麼可以發散考慮的?

首先來說說怎麼使用。

在C語言中:

1、靜態局部變量:一次定義多次使用,起到一個記錄的作用。

2、靜態全局變量:一次定義多次使用,且僅對當前文件可見。

3、靜態函數:只對當前文件可見。

在C++中:

保留了C的特性之外增加了關於類的部分:

1、類內靜態成員變量:所有類的對用共有這個變量。

注意:(1)必須要在在外定義。(2)sizeof不起效。

2、類內靜態函數:可以通過類名直接調用這個函數。

注意:(1)無this指針。

這個就是static的基本使用方法。簡單的寫了一下。那麼後面的問題就來了:

1、聲明的時候增了static內存在編譯和鏈接的時候內存是怎麼樣的

2、爲什麼使用static是對當前文件可見的?

3、爲什麼一定要在類外初始化?

4、爲什麼sizeof不起效?

5、爲什麼無this指針?

我下面一篇儘量解答這個問題。

 

 

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