cosnt是c、c++中常用的關(guān)鍵字。在C中,const主要用于定義常量、修飾函數(shù)參數(shù)、修飾函數(shù)返回值。在C++中const還可以修飾函數(shù)的定義體,定義成員函數(shù)為常態(tài)函數(shù)。
- const定義一個(gè)常量,定義時(shí)初始化,之后不能更新。
- 使用了const方法可以是編譯器對(duì)處理內(nèi)容有更多的了解,便于內(nèi)型檢查。
- 同宏定義一樣方便地進(jìn)行參數(shù)修改和調(diào)整。
- 節(jié)省空間,避免不必要的內(nèi)存分配。
- 為函數(shù)重載提供參考;如下:
class A
{
void f1(void);//一個(gè)成員函數(shù)
void f1(void) const;//聲明為上一個(gè)函數(shù)的重載
}
編程中引入常量可以增強(qiáng)程序的可讀性,可以是程序員的維護(hù)和調(diào)試更加方便,使書寫根據(jù)方便。
const和define都可以定義常量,兩者區(qū)別如下:
- const定義的常量有數(shù)據(jù)類型,而define沒有。
- 很多的集成開發(fā)環(huán)境只支持對(duì)const定義的常量的調(diào)試,而不支持define定義的常量。
- const定義的常量是要分配內(nèi)存空間的,而define定義的常量卻不分配。
有時(shí)define比const有優(yōu)勢(shì),因?yàn)閐efine不僅定義常量,還可以定義帶參數(shù)的宏,做到一定程度的泛型。