AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

掌握C/C++中的靜態變量與靜態成員!

來源: 責編: 時間:2023-10-08 07:05:02 287觀看
導讀1. 靜態變量1.1 C語言中的靜態變量在C語言中,關鍵字`static`用于聲明靜態變量。靜態變量只會在程序初始化時被賦值一次,之后在函數調用過程中保持不變。若在函數外定義了靜態變量,其作用域將限制在當前文件內,只能被該文

1. 靜態變量

1.1 C語言中的靜態變量rnj28資訊網——每日最新資訊28at.com

在C語言中,關鍵字`static`用于聲明靜態變量。靜態變量只會在程序初始化時被賦值一次,之后在函數調用過程中保持不變。若在函數外定義了靜態變量,其作用域將限制在當前文件內,只能被該文件內的所有函數訪問,而不能被其他文件中的函數所訪問。它是一種局部的全局變量,僅被初始化一次。rnj28資訊網——每日最新資訊28at.com

1.2 C++語言中的靜態變量rnj28資訊網——每日最新資訊28at.com

在C++中,靜態變量可以成為類的數據成員。與非靜態數據成員不同,每個對象都有一個副本,靜態數據成員是類的一部分,只存在一個副本,被所有對象所共享。即使沒有實例化對象,靜態成員變量也可以使用,通過"類名::靜態成員變量"的方式訪問。rnj28資訊網——每日最新資訊28at.com

2. 靜態成員函數

在類中,使用`static`修飾的函數被稱為靜態成員函數。它們屬于類,而不屬于對象,因此會被所有對象共享。與普通成員函數不同,靜態成員函數沒有`this`指針,因此無法訪問非靜態的函數和變量,只能訪問靜態的成員。rnj28資訊網——每日最新資訊28at.com

3. 靜態數據成員的優勢

相對于全局變量,靜態數據成員有以下優勢:rnj28資訊網——每日最新資訊28at.com

1. 作用域更為局限,僅限于當前文件,避免了命名沖突問題。rnj28資訊網——每日最新資訊28at.com

2. 靜態數據成員可以被定義為私有成員,而全局變量不能,從而實現信息的隱藏和封裝。rnj28資訊網——每日最新資訊28at.com

通過合理地運用`static`關鍵字,我們可以更靈活地管理變量和函數,使代碼更具可維護性和可讀性。rnj28資訊網——每日最新資訊28at.com

靜態成員變量和靜態變量在C++中具有特殊的初始化規則和用途。在本文中,我們將探討為什么它們需要特殊的初始化方式以及如何正確使用它們。rnj28資訊網——每日最新資訊28at.com

為什么靜態成員變量不能在類內初始化?

靜態成員變量是屬于類的一部分,但它們的初始化有一些獨特之處。為什么不能在類內初始化靜態成員變量呢?原因在于類的聲明可能會在多處引用,每次引用都會初始化一次,分配一次空間。這與靜態變量只能初始化一次,只有一個副本的性質沖突,因此靜態成員變量只能在類外初始化。rnj28資訊網——每日最新資訊28at.com

為什么static靜態變量只能初始化一次?

所有變量都只初始化一次。但是靜態變量和普通自動變量的初始化方式和生命周期有所不同。靜態變量被存儲在全局區(靜態區),其生命周期與程序一樣長,它們只會在首次初始化時分配內存,并且不會在程序運行期間被銷毀。而普通自動變量存儲在棧區,它們的生命周期與函數調用相關,每次函數調用都會初始化一次,函數結束時銷毀。rnj28資訊網——每日最新資訊28at.com

在頭文件中定義靜態變量是否可行?

在頭文件中定義靜態變量是不可行的。因為當你在頭文件中定義一個static變量時,實際上對包含該頭文件的每個源文件來說都定義了一個同名的靜態變量。這會導致資源浪費,可能會引發編譯錯誤或難以追蹤的bug。因此,通常建議將靜態變量的定義放在單獨的源文件中,以避免這種問題。rnj28資訊網——每日最新資訊28at.com

靜態變量什么時候初始化?

靜態變量只會初始化一次,但可以多次賦值。它們在程序主函數執行之前已經由編譯器分配好了內存空間。這意味著它們的初始化發生在程序的啟動階段,而不是在每次函數調用時。因此,無論你調用多少次包含靜態變量的函數,它們只會在程序啟動時進行一次初始化。rnj28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-12274-0.html掌握C/C++中的靜態變量與靜態成員!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 分享Spring Data JPA的一些技巧和優秀實踐

下一篇: Sixel:改變終端圖像顯示的革命

標簽:
  • 熱門焦點
  • 5月iOS設備性能榜:M1 M2依舊是榜單前五

    和上個月一樣,沒有新品發布的iOS設備性能榜的上榜設備并沒有什么更替,僅僅只有跑分變化而產生的排名變動,剛剛開始的蘋果WWDC2023,推出的產品也依舊是新款Mac Pro、新款Mac Stu
  • 跑分安卓第一!Redmi K60至尊版8月發布!盧偉冰:目標年度性能之王

    8月5日消息,Redmi K60至尊版將于8月發布,在此前舉行的戰略發布會上,官方該機將搭載搭載天璣9200+處理器,安兔兔V10跑分超177萬分,是目前安卓陣營最高的分數
  • 印度登月最關鍵一步!月船三號今晚進入環月軌道

    8月5日消息,據印度官方消息,月船三號將于北京時間今晚21時30分左右開始近月制動進入環月軌道。這是該探測器能夠成功的最關鍵步驟之一,如果成功將開始圍
  • 2023 年的 Node.js 生態系統

    隨著技術的不斷演進和創新,Node.js 在 2023 年達到了一個新的高度。Node.js 擁有一個龐大的生態系統,可以幫助開發人員更快地實現復雜的應用。本文就來看看 Node.js 最新的生
  • 讓我們一起聊聊文件的操作

    文件【1】文件是什么?文件是保存數據的地方,是數據源的一種,比如大家經常使用的word文檔、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存數據,它既可以保
  • 微信語音大揭秘:為什么禁止轉發?

    大家好,我是你們的小米。今天,我要和大家聊一個有趣的話題:為什么微信語音不可以轉發?這是一個我們經常在日常使用中遇到的問題,也是一個讓很多人好奇的問題。讓我們一起來揭開這
  • 一條抖音4億人圍觀 ! 這家MCN比無憂傳媒還野

    作者:Hiu 來源:互聯網品牌官01 擦邊少女空降熱搜,幕后推手曝光被網友譽為“純欲天花板”的女網紅井川里予,近期因為一組哥特風照片登上熱搜,引發了一場互聯網世界關于
  • OPPO K11采用全方位護眼屏:三大護眼能力減輕視覺疲勞

    日前OPPO官方宣布,全新的OPPO K11將于7月25日正式發布,將主打旗艦影像,和同檔位競品相比,其最大的賣點就是將配備索尼IMX890主攝,堪稱是2000檔位影像表
  • “買真退假” 這種“羊毛”不能薅

    □ 法治日報 記者 王春   □ 本報通訊員 胡佳麗  2020年初,還在上大學的小東加入了一個大學生兼職QQ群。群主“七王”在群里介紹一些刷單賺
Top