const和static的區別


const和static的區別

一、const

1.static 局部變量 將一個變量聲明為函數的局部變量,那么這個局部變量在函數執行完成之后不會被釋放,而是繼續保留在內存中
2.static 全局變量 表示一個變量在當前文件的全局內可訪問
3.static 函數 表示一個函數只能在當前文件中被訪問
4.static 類成員變量 表示這個成員為全類所共有
5.static 類成員函數 表示這個函數為全類所共有,而且只能訪問靜態成員變量

作用:
(1)函數體內static變量的作用范圍為該函數體,該變量的內存只被分配一次,因此其值在下次調用時仍維持上次的值;
(2)在模塊內的static全局變量和函數可以被模塊內的函數訪問,但不能被模塊外其它函數訪問;
(3)在類中的static成員變量屬於整個類所擁有,對類的所有對象只有一份拷貝;
(4)在類中的static成員函數屬於整個類所擁有,這個函數不接收this指針,因而只能訪問類的static成員變量。

 

二、static

1.const 常量:定義時就初始化,以后不能更改。
2.const 形參:func(const int a){};該形參在函數里不能改變
3.const修飾類成員函數:該函數對成員變量只能進行只讀操作

 

作用:
(1)阻止一個變量被改變
(2)聲明常量指針和指針常量
(3)const修飾形參,表明它是一個輸入參數,在函數內部不能改變其值;
(4)對於類的成員函數,若指定其為const類型,則表明其是一個常函數,不能修改類的成員變量;
(5)對於類的成員函數,有時候必須指定其返回值為const類型,以使得其返回值不為”左值”。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM