c++ static問題詳解


可執行程序包括BSS段、數據段代碼段


--------------------面向過程---------------------

已初始化的的全局變量和局部靜態變量存放在.data段,未初始化的全局變量和局部靜態變量一般存放在.bss段裏

全局/靜態存儲區跟執行代碼一樣,是在編譯過程中就已經生成在執行文件中。在執行文件被加載(比如執行a.exe或a.out)時,由操作系統直接映射到內存中,也就是在程序運行時創建內存。


局部靜態變量有個初始化問題,當多次調用一個含有局部靜態變量的函數時候,怎麼保持只初始化一次呢?
程序會在內存中第一個bit位,來標識是否初始化過。


---------------------面向對象---------------------

一個類中可以包含靜態成員、非靜態成員、靜態構造函數、非靜態構造函數。

靜態成員

靜態成員函數





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