C語言中const和C++中的const區(qū)別詳解

C語言中const和C++中的const 區(qū)別詳解

站在用戶的角度思考問題,與客戶深入溝通,找到長壽網站設計與長壽網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網站、網站設計、企業(yè)官網、英文網站、手機端網站、網站推廣、域名申請虛擬主機、企業(yè)郵箱。業(yè)務覆蓋長壽地區(qū)。

C++的const和C語言的#define都可以用來定義常量,二者是有區(qū)別的,const是有數據類型的常量,而宏常量沒有,編譯器可以對前者進行靜態(tài)類型安全檢查,對后者僅是字符替換,沒有類型安全檢查。

而C語言中的const與C++也有很大的不同,在C語言中用const修飾的變量仍是一個變量,表示這個變量是只讀的,不可顯示地更改,而在C++中用const修飾過后,就變成常量了。例如下面的代碼:

const int n=10;
int a[n];

這兩行代碼在C語言中會報錯,因為聲明數組時的數組長度必須是常量,而這里面的n在C語言中是變量。而在C++中用const修飾過后,n就已經等同于一個常量了,因此可以通過。

再看下面的代碼:

const int a=3;
int* p=&a;
*p=4;

這種情況在C++中是不允許的,原因在于a用const修飾后,已經成為常量了,因此是不允許被修改的,無論是顯式的更改a的值或是通過其它方法修改它的值都是不允許的。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

當前名稱:C語言中const和C++中的const區(qū)別詳解
文章來源:http://bm7419.com/article32/jdsspc.html

成都網站建設公司_創(chuàng)新互聯,為您提供自適應網站、虛擬主機、網頁設計公司、動態(tài)網站做網站、網站策劃

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

h5響應式網站建設