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