c語言和c++中的const

先看下面這個題##

關於const用法,以下錯誤的是

A	int const a = 3; int *p = &a;
B	int a = 3; int const *p = &a;
C	int a = 3; int * const p = &a;
D	const int a = 3; int const &b = a;

選哪個?
這是我學c++時候的一道題,只有過C語言的可能對d選項不太瞭解。

下面介紹一下c語言(c++)中的const

const是一個關鍵字,它限定一個變量不允許被改變,產生靜態作用,這就相當於給一個變量加上權限,變成一個只讀變量,但是不能修改其值。

const 推出的初始目的,正是爲了取代預編譯指令,消除它的缺點,同時繼承它的優點。(百度百科)

下面分條介紹const的具體用法

1.修飾普通變量

const int x = 3;

int型的x被const修飾變成了一個只讀變量(有的視頻上說變成了一個常量,我認爲這種說法不太準確),它的值只能被讀取,但是不能被改變,例如

const int x = 3;
x = 5;//這是錯誤的

這種寫法在編譯器中會提示錯誤(不同編譯器提示不同)
error: assignment of read-only variable ‘x’
這也證實了上面的說法,它是一個只讀變量,而非常量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章