推薦答案
在C/C++中,const是一個(gè)關(guān)鍵字,用于指定一個(gè)變量或函數(shù)參數(shù)的值不能被修改。const有兩種常見用法:const修飾符和const指針。
const修飾符
const修飾符用于聲明一個(gè)常量變量,即該變量的值在聲明后不能被修改。例如:
const int x = 10;
在這個(gè)例子中,變量x被聲明為一個(gè)整型常量,其值為10,不能再被修改。
const指針
const指針指的是指針指向的值不能被修改,而不是指針本身不能被修改。例如:
const int* ptr;
在這個(gè)例子中,指針ptr被聲明為一個(gè)指向整型常量的指針,可以改變指針本身的值,但不能改變指針?biāo)赶虻闹怠?/p>
另一種常見的情況是使用const修飾函數(shù)參數(shù),以防止在函數(shù)內(nèi)部修改參數(shù)的值。例如:
void foo(const int x);
在這個(gè)例子中,參數(shù)x被聲明為一個(gè)整型常量,不能在函數(shù)內(nèi)部修改它的值。
總的來(lái)說(shuō),const關(guān)鍵字用于指定變量或函數(shù)參數(shù)的值不能被修改,可以應(yīng)用于變量、指針以及函數(shù)參數(shù)。需要根據(jù)具體的情況選擇合適的使用方法。
其他答案
-
在c語(yǔ)言中,用const定義一個(gè)常量的時(shí)候,編譯器會(huì)直接開辟一個(gè)內(nèi)存空間存放該常量,不會(huì)進(jìn)行優(yōu)化。 并且當(dāng)我們用一個(gè)指針去指向該變量的時(shí)候我們是可以對(duì)該變量進(jìn)行修改的。
-
c++中用const定義了一個(gè)常量后,不會(huì)分配一個(gè)空間給它,而是以key-value(鍵值對(duì))的形式寫入符號(hào)表(symbol table),這使得它成為一個(gè)編譯期間的常量,沒(méi)有了存儲(chǔ)與讀內(nèi)存的操作,使得它的效率也很高。