C/C++关键字 static 和 const
生活随笔
收集整理的這篇文章主要介紹了
C/C++关键字 static 和 const
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
C/C++關(guān)鍵字 static 和 const
一、關(guān)鍵字static
參考:https://www.cnblogs.com/BeyondAnyTime/p/2542315.html
1. 靜態(tài)全局變量和函數(shù)
- 生命周期(整個程序運(yùn)行過程)不變,作用域限制在本文件中,全局變量在別的文件加extern 無效,別的文件即使include頭文件也不能使用該頭文件中的靜態(tài)函數(shù)。
2. 靜態(tài)局部變量
- 生命周期改變(由函數(shù)運(yùn)行過程變?yōu)檎麄€程序運(yùn)行過程),作用域不變(函數(shù)內(nèi)部有效)。且靜態(tài)局部變量只執(zhí)行一次內(nèi)存分配,只進(jìn)行一次初始化。
3. 靜態(tài)類成員變量和函數(shù)
- 靜態(tài)類成員變量屬于整個類,對于該類的所有對象只維持一份拷貝。
- 靜態(tài)類成員函數(shù)屬于整個類共有,這個函數(shù)不接受this指針,且只能訪問類的靜態(tài)成員。
二、關(guān)鍵字const
參考:https://www.cnblogs.com/icemoon1987/p/3320326.html
1. const變量
- const 變量值是只讀的,不能被改變,必須同時進(jìn)行初始化。
2. const 指針
- const 指針分為三種,分別是:指針指向的內(nèi)容不能變,指針地址不能變,兩者都不能變,就近原則。
3. const修飾函數(shù)參數(shù)
- 將函數(shù)參數(shù)聲明為 const 類型,表示對于函數(shù)來說,這個參數(shù)是一個 const 變量。函數(shù)內(nèi)部不能夠改變這個參數(shù)的值。
- 將函數(shù)參數(shù)聲明為 const 類型的指針 ,允許上層使用“指向 const 變量的指針” 或“普通指針”作為參數(shù),調(diào)用函數(shù)。(如果函數(shù)參數(shù)聲明的是普通指針,則不允許使用指向 const 變量的指針作為參數(shù)調(diào)用)
4. const 修飾返回值
- 函數(shù)的返回值為一個 const 變量,不能被修改。主要用于函數(shù)返回const引用。
4. const對象
- const類對象指的是該對象對象不能改變?nèi)魏纬蓡T變量的值(不能直接改變成員變量
也不能通過成員函數(shù)改變成員變量),不能調(diào)用任何非const成員函數(shù)
5. const成員變量和成員函數(shù)
- const 成員變量指的是類中的成員變量為只讀,不能夠被修改(包括在類外部和類內(nèi)部)。const 成員變量必須被初始化(在相關(guān)構(gòu)造函數(shù)的初始化列表中),初始化后,不能夠被修改。靜態(tài) const 成員變量需要在類外部單獨(dú)定義并初始化(可定義在頭文件)
- const成員函數(shù)指的是,此函數(shù)不應(yīng)該修改任何成員變量,除非成員變量被 mutable 修飾符修飾。傳給const成員函數(shù)的this指針,是指向 const 對象的const 指針。
總結(jié)
以上是生活随笔為你收集整理的C/C++关键字 static 和 const的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java面试——Spring系列总结
- 下一篇: C++ 继承与多态