C語言中const和C++中的const 區(qū)別詳解
站在用戶的角度思考問題,與客戶深入溝通,找到長壽網(wǎng)站設計與長壽網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名申請、虛擬主機、企業(yè)郵箱。業(yè)務覆蓋長壽地區(qū)。
C++的const和C語言的#define都可以用來定義常量,二者是有區(qū)別的,const是有數(shù)據(jù)類型的常量,而宏常量沒有,編譯器可以對前者進行靜態(tài)類型安全檢查,對后者僅是字符替換,沒有類型安全檢查。
而C語言中的const與C++也有很大的不同,在C語言中用const修飾的變量仍是一個變量,表示這個變量是只讀的,不可顯示地更改,而在C++中用const修飾過后,就變成常量了。例如下面的代碼:
const int n=10; int a[n];
這兩行代碼在C語言中會報錯,因為聲明數(shù)組時的數(shù)組長度必須是常量,而這里面的n在C語言中是變量。而在C++中用const修飾過后,n就已經(jīng)等同于一個常量了,因此可以通過。
再看下面的代碼:
const int a=3; int* p=&a; *p=4;
這種情況在C++中是不允許的,原因在于a用const修飾后,已經(jīng)成為常量了,因此是不允許被修改的,無論是顯式的更改a的值或是通過其它方法修改它的值都是不允許的。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
當前名稱:C語言中const和C++中的const區(qū)別詳解
文章來源:http://m.2m8n56k.cn/article32/jdsspc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站、虛擬主機、網(wǎng)頁設計公司、動態(tài)網(wǎng)站、做網(wǎng)站、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)