const修飾的資料型別是指常型別,常型別的變數或物件的值是不能被更新的。
const關鍵字的作用主要有以下幾點:
(1)可以定義const常量,具有不可變性。 例如:
const int max=100; int array[max];
(3)可以避免意義模糊的數字出現,同樣可以很方便地進行引數的調整和修改。
(4)可以保護被修飾的東西,防止意外的修改,增強程式的健壯性。 還是上面的例子,如果在函式體內修改了i,編譯器就會報錯; 例如:
void f(const int i)
(5) 為函式過載提供了乙個參考。
class a //乙個函式
void f(int i) const //上乙個函式的過載 ......
}; (6) 可以節省空間,避免不必要的記憶體分配。 例如:
#define pi 3.14159 //常量巨集
const doulbe pi=3.14159; //此時並未將pi放入rom中 ......
double i=pi; //此時為pi分配記憶體,以後不再分配!
double i=pi; //編譯期間進行巨集替換,分配記憶體
double j=pi; //沒有記憶體分配
double j=pi; //再進行巨集替換,又一次分配記憶體!
const定義常量從彙編的角度來看,只是給出了對應的記憶體位址,而不是象#define一樣給出的是立即數,所以,const定義的常量在程式執行過程中只有乙份拷貝,而#define定義的常量在記憶體中有若干個拷貝。
(7) 提高了效率。 編譯器通常不為普通const常量分配儲存空間,而是將它們儲存在符號表中,這使得它成為乙個編譯期間的常量,沒有了儲存與讀記憶體的操作,使得它的效率也很高。
Cookie 有什麼用途
cookie 為 web 應用程式儲存使用者相關資訊提供了一種有用的方法。例如,當使用者訪問您的站點時,您可以利用 cookie 儲存使用者首選項或其他資訊,這樣,當使用者下次再訪問您的站點時,應用程式就可以檢索以前儲存的資訊。本文概要介紹 cookie 在 asp.net 應用程式中的應用,為您展...
static有什麼用途
在c語言中,static主要定義全域性靜態變數,定義區域性靜態變數,定義靜態函式 一 定義全域性靜態變數 在全域性變數前面加上關鍵字static,該全域性變數變成了全域性靜態變數。全域性靜態變數有以下特點 1 在全域性資料區內分配記憶體 2 如果沒有初始化,其預設值為0 3 該變數在本檔案內從定義開...
SheevaPlug是什麼,有什麼用途
簡單說 sheevaplug 是由 arm cpu加上 linux 作業系統的小型計算機,用乙個手掌就可以托住 其中 cpu 是 1.2ghz 主頻,512mb ddr2,512mb nand flash,1個 usb口以及1個外接 sd 卡槽 這個小計算機瑞安裝了 linux 2.6.x 以及 d...