日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

我的秋招之路之c++中static的用法

發布時間:2025/3/15 c/c++ 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 我的秋招之路之c++中static的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

c++的內存分布如上圖所示。

對于一個完整的程序,在內存中的分布情況如下圖: ?
1.棧區: 由編譯器自動分配釋放,像局部變量,函數參數,都是在棧區。會隨著作用于退出而釋放空間。
3.堆區:程序員分配并釋放的區域,像malloc(c),new(c++)?
3.全局數據區(靜態區):全局變量和靜態便令的存儲是放在一塊的,初始化的全局變量和靜態變量在一塊區域,未初始化的全局變量和未初始化的靜態變量在相鄰的另一塊區域。程序結束釋放。
4.代碼區

靜態局部變量的特點:

(1)該變量在全局數據區分配內存(局部變量在棧區分配內存);
(2)靜態局部變量在程序執行到該對象的聲明處時被首次初始化,即以后的函數調用不再進行初始化(局部變量每次函數調用都會被初始化);
(3)靜態局部變量一般在聲明處初始化,如果沒有顯式初始化,會被程序自動初始化為0(局部變量不會被初始化);
(4)它始終駐留在全局數據區,直到程序運行結束。但其作用域為局部作用域,也就是不能在函數體外面使用它(局部變量在棧區,在函數結束后立即釋放內存);

.靜態全局變量:

定義在函數體外,用于修飾全局變量,表示該變量只在本文件可見。
作用域:該文件內部, 生存期:整個程序運行期間

可以隔離文件

.靜態函數:

靜態函數跟靜態全局變量的作用類似,即靜態函數不能被其它文件所用。

其它文件中的可以定義相同的名字的函數,不會發生沖突
作用域:該文件內部, 生存期:整個程序運行期間

靜態成員函數

1.靜態成員之間可以相互訪問,包括靜態成員函數訪問靜態數據成員和訪問靜態成員函數;
2.非靜態成員函數可以任意地訪問靜態成員函數和靜態數據成員;
3.靜態成員函數不能訪問非靜態成員函數和非靜態數據成員;
4.調用靜態成員函數,可以用成員訪問操作符(.)和(->)為一個類的對象或指向類對象的指針調用靜態成員函數,也可以用類名::函數名調用(因為他本來就是屬于類的,用類名調用很正常)
參考資料:

原文鏈接:https://blog.csdn.net/chenyijun/article/details/81938287

總結

以上是生活随笔為你收集整理的我的秋招之路之c++中static的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。