您好,登錄后才能下訂單哦!
本篇內容介紹了“C++中const關鍵字的作用是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
constinta=7;
intb=a;//正確
a=8;//錯誤,不能改變
a被定義為一個常量,并且可以將a賦值給b,但是不能給a再次賦值。對一個常量賦值是違法的事情,因為a被編譯器認為是一個常量,其值不允許修改。
接著看如下的操作:
實例
#include
usingnamespacestd;
intmain(void)
{
constinta=7;
int*p=(int*)&a;
*p=8;
cout<
usingnamespacestd;
intmain(void)
{
volatileconstinta=7;
int*p=(int*)&a;
*p=8;
cout
const修飾指針變量有以下三種情況。
A:const修飾指針指向的內容,則內容為不可變量。
B:const修飾指針,則指針為不可變量。
C:const修飾指針和指針指向的內容,則指針和指針指向的內容都為不可變量。
對于A:
constint*p=8;
則指針指向的內容8不可改變。簡稱左定值,因為const位于*號的左邊。
對于B:
inta=8;
int*constp=&a;
*p=9;//正確
intb=7;
p=&b;//錯誤
對于const指針p其指向的內存地址不能夠被改變,但其內容可以改變。簡稱,右定向。因為const位于*號的右邊。
對于C:則是A和B的合并
inta=8;
constint*constp=&a;
這時,constp的指向的內容和指向的內存地址都已固定,不可改變。
對于A,B,C三種情況,根據const位于*號的位置不同,我總結三句話便于記憶的話:"左定值,右定向,const修飾不變量"。
對于const修飾函數參數可以分為三種情況。
A:值傳遞的const修飾傳遞,一般這種情況不需要const修飾,因為函數會自動產生臨時變量復制實參值。
實例
#include
usingnamespacestd;
voidCpf(constinta)
{
cout<
usingnamespacestd;
voidCpf(int*consta)
{
cout<<*a<<""; *a=9; } intmain(void) { inta=8; Cpf(&a); cout<
“C++中const關鍵字的作用是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。