您好,登錄后才能下訂單哦!
藍鷗iOS培訓推薦:const是C語言中的重要關鍵字,它限定一個變量不能被改變。那么相對于要使用const在安全性上和可靠性上提高很多。
一、const主要作用:
(1)可以定義const常量,具有不可變性。
例如:constintMax=100;intArray[Max];
(2)便于進行類型檢查,使編譯器對處理內容有更多了解,消除了一些隱患。
例如:voidf(constinti){.........}編譯器就會知道i是一個常量,不允許修改;
(3)可以避免意義模糊的數字出現,同樣可以很方便地進行參數的調整和修改。同宏定義一樣,可以做到不變則已,一變都變!如(1)中,如果想修改Max的內容,只需要:constintMax=youwant;即可!
(4)可以保護被修飾的東西,防止意外的修改,增強程序的健壯性。還是上面的例子,如果在函數體內修改了i,編譯器就會報錯;
例如:voidf(constinti){i=10;//error!}
(5)可以節省空間,避免不必要的內存分配。例如:
#definePI3.14159//常量宏
constdoublePi=3.14159;//此時并未將Pi放入RAM中......
doublei=Pi;//此時為Pi分配內存,以后不再分配!
doubleI=PI;//編譯期間進行宏替換,分配內存
doublej=Pi;//沒有內存分配
doubleJ=PI;//再進行宏替換,又一次分配內存!
const定義常量從匯編的角度來看,只是給出了對應的內存地址,而不是象#define一樣給出的是立即數,所以,const定義的常量在程序運行過程中只有一份拷貝,而#define定義的常量在內存中有若干個拷貝。
(6)提高了效率。
編譯器通常不為普通const常量分配存儲空間,而是將它們保存在符號表中,這使得它成為一個編譯期間的常量,沒有了存儲與讀內存的操作,使得它的效率也很高。
二、const對象
聲明為const的對象只能訪問類中聲明為const的成員函數,不能調用其它成員函數.
三、const成員函數
類型說明符函數名(參數表)const;voidprint(inti)const;
說明:
1const是函數類型的一個組成部分,因此在實現部分也要帶const關鍵字。
2常成員函數不能更新對象的數據成員,也不能調用該類中沒有用const修飾的成員函數。
以上就是有關const主要作用和成員函數的介紹,不知道我的解說是不是能夠很明白的讓大家明白,希望能夠幫助到有需要的同學們,還可繼續關注我。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。