c和c 的區別之const

2021-09-30 16:38:21 字數 971 閱讀 2079

1.const

c++:

在c++中,const定義的是常量,該常量的值是不可以被修改的,編譯時期

該使用該常量的地方直接替換成該常量的值,當然,常量是必須初始化的。

因為編譯時期,使用該常量的地方必須替換成該常量的值,若沒有初始化,

則此常量就是無用的常量

const修飾的資料產生的符號是local的,因為在編譯時期就會替換常量的值,

此過程只在本檔案中進行,外檔案是無法解析此檔案的常量

c語言:

在c語言中const定義的是常變數
下面用**演示一下c和c++在const的區別:

#includeint main1()

這是在c語言裡面定義的常變數,其結果 *p = 20,a = 20;

#includeusing namespace std;

int main()

這是在c++裡面定義的常量,其結果*p = 20;a = 10;在編譯時期用到a常量的時候直接替換成10,所以不管如何改變*p的值都不會影響a的值

在編譯時期不能確定常量值的時候c++中的常量就會退化成常變數

int c = 20;

const int d = c;//退化成常變數

int *p2 = (int *)&d;

*p2 = 30;

cout << *p2 << " " << d <<" "const修飾的是離它最近的完整型別

const修飾的內容是它修飾型別的內容

const修飾的內容不容許修改

不允許洩漏常量的位址給非常量的指標

int main()

這些基本上就是c和c++關於const區別的用法,望與君共勉……

C和C 中const的區別

原文出自 一.c語言中的const const是c語言中保留的乙個關鍵字,它用來限定乙個變數是唯讀的,即不可變的。程式中使用const可以在一定程度上提高程式的健壯性,但是程式中使用過多的const,可能在對 的閱讀時增加一定的難度。1 用const修飾一般變數 注意在c語言中,用const修飾的變...

C和C 中的const區別

合理的利用const 有以下優點 1 指標做函式引數,可以有效提高 的可讀性,減少bug 2 清楚分清引數的輸入和輸出特性。而c語言中的const,並不是真正的const,可以通過指標,間接修改const變數的值 例如 const int a 10 int p null p int a p 20 間...

c 的const和static區別

const定義的常量在超出其作用域之後其空間會被釋放,而static定義的靜態常量在函式執行後不會釋放其儲存空間。static表示的是靜態的。類的靜態成員函式 靜態成員變數是和類相關的,而不是和類的具體物件相關的。即使沒有具體物件,也能呼叫類的靜態成員函式和成員變數。一般類的靜態函式幾乎就是乙個全域...