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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

C++之 static 关键字

發(fā)布時(shí)間:2025/3/13 c/c++ 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++之 static 关键字 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

C++之 static 關(guān)鍵字

C++中的關(guān)鍵字 static,顧名思義表示靜止、靜態(tài)。

1. 作用于函數(shù)內(nèi)部的局部變量

局部作用域靜態(tài)變量的特點(diǎn):當(dāng)一個(gè)函數(shù)返回后,下一次再調(diào)用時(shí),該變量還會(huì)保持上次的值,函數(shù)內(nèi)部的靜態(tài)變量只開(kāi)辟一次空間,且不會(huì)因?yàn)槎啻握{(diào)用產(chǎn)生副本,也不會(huì)因?yàn)楹瘮?shù)返回而失效。

注意:

  • 普通局部變量如果未賦予初值,編譯器會(huì)報(bào)錯(cuò);
  • 當(dāng)局部變量加上 static 后,定義時(shí)如果未賦予初值,則會(huì)默認(rèn)初始化為 0
  • 2. 作用于類的成員

    解決同一個(gè)類的不同對(duì)象之間數(shù)據(jù)和函數(shù)共享問(wèn)題

    2.1 作用于類的數(shù)據(jù)成員

    靜態(tài)成員在每一個(gè)類中只有一個(gè)副本,由該類所有對(duì)象共同維護(hù)和使用,從而實(shí)現(xiàn)同一個(gè)類的不同對(duì)象的數(shù)據(jù)共享。需要注意:

    • 使用 類名::標(biāo)識(shí)符 的方式訪問(wèn)靜態(tài)數(shù)據(jù)成員,因?yàn)殪o態(tài)數(shù)據(jù)成員不屬于任何一個(gè)對(duì)象
    • 對(duì)靜態(tài)數(shù)據(jù)成員初始化,在類定義外進(jìn)行,以這種方式專門為他們分配空間。如果直接在類內(nèi)定義靜態(tài)數(shù)據(jù)成員,編譯器則會(huì)報(bào)錯(cuò)

    2.2 作用于類的函數(shù)成員

    靜態(tài)成員函數(shù)就是使用 static 關(guān)鍵字聲明的函數(shù)成員,同靜態(tài)數(shù)據(jù)成員一樣,靜態(tài)成員函數(shù)也屬于整個(gè)類,由該類所有對(duì)象共同擁有,為所有對(duì)象共享

    (1)靜態(tài)成員函數(shù)主要用于處理該類的靜態(tài)數(shù)據(jù)成員,可以直接調(diào)用靜態(tài)數(shù)據(jù)成員。如果訪問(wèn)非靜態(tài)成員,要通過(guò)對(duì)象來(lái)訪問(wèn)。

    class Person { public:static void findPerson(Person person); private:int age;static int sex; }; void Person::findPerson(Person person) {cout << age; // 對(duì) age 的引用是錯(cuò)誤的cout << person.age; // 正確cout << sex; //對(duì) sex 的引用是正確的的,引用靜態(tài)數(shù)據(jù)成員 }

    (2)在類外使用j靜態(tài)成員函數(shù)

    • 使用 類名 :: 函數(shù)名 操作符來(lái)調(diào)用靜態(tài)成員函數(shù)
    • 使用 類.函數(shù)名 調(diào)用

    總結(jié)

    以上是生活随笔為你收集整理的C++之 static 关键字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。