C++ static的用法有哪些?

static的用法有哪些?

(1)修飾局部變量。局部變量的生存期爲聲明之後,直至當前代碼塊結束。若使用static聲明,該變量將變爲靜態持續性,存放在靜態存儲區,存在於整個程序運行週期。同時保證每個進入該代碼塊,變量保持上一次退出時的值。

(2)修飾全局變量。會改變全局變量的鏈接性,使用static修飾後,全局變量由外部鏈接性變爲內存鏈接性,這樣其他源文件不能使用extern變量使用該變量,該變量只能在當前文件內共享訪問。

(3)修飾函數。函數默認具有外部鏈接性,同普通全局變量一樣。使用static修飾後,其他源文件不能使用extern來使用該函數。該函數爲內部鏈接性,當前文件可訪問。

(4)修飾成員變量。修飾成員變量後,該變量將不在類對象的內存佈局當中,存在於靜態存儲區。該變量存在於類對象聲明之前,即使沒有任何一個類對象聲明,該變量依然存在。所有的類對象共享一份實例。

(5)修飾成員函數。靜態成員函數不能訪問普通成員變量,只能訪問靜態成員變量。同時不需要通過類實例進行調用。

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