1.const指標是一種指標,此指標指向的位址是不能夠改變的,但是其指向的物件是可以被修改的,其定義類似:
int* const p=位址;
比如下面的**:
int b=12;
int* const a=&b;
void tes()
此**是正確的,先宣告了變數b,然後宣告乙個const指標a,此指標指向變數b,在tes函式中修改指標a所指向的物件的值。
如果將**修改為:
int b=12;
int* const a=&b;
void tes()
再編譯就會出錯:
t.cpp: in function 『void tes()』:
t.cpp:6:5: error: assignment of read-only variable 『a』
因為指標a是const的,不能被重新賦值。
2.指向const物件的指標,其指向的物件是const的,不能被修改,但是其本身並不是const的,可以修改其指向的位址。
宣告方式為:
const int *p;
const
int* a;
void tes()
此**是正確的,先宣告了乙個指向const物件的指標,然後在tes函式中將其指向c變數。
const
int* a;
void tes()
此編碼編譯錯誤。
t.cpp: in function 『void tes()』:
t.cpp:6:5: error: assignment of read-only location 『* a』
因為a所指向的物件是const的,不能修改。
原文:
const 指標與指向const的指標
當使用帶有const的指標時其實有兩種意思。一種指的是你不能修改指標本身的內容,另一種指的是你不能修改指標指向的內容。聽起來有點混淆一會放個例子上來就明白了。先說指向const的指標,它的意思是指標指向的內容是不能被修改的。它有兩種寫法。const int p 推薦 int const p 第一種可...
const 指標與指向const的指標
當使用帶有const的指標時其實有兩種意思。一種指的是你不能修改指標本身的內容,另一種指的是你不能修改指標指向的內容。聽起來有點混淆一會放個例子上來就明白了。先說指向const的指標,它的意思是指標指向的內容是不能被修改的。它有兩種寫法。const int p 推薦 int const p 第一種可...
const 指標與指向const的指標
當使用帶有const的指標時其實有兩種意思。一種指的是你不能修改指標本身的內容,另一種指的是你不能修改指標指向的內容。聽起來有點混淆一會放個例子上來就明白了。先說指向const的指標,它的意思是指標指向的內容是不能被修改的。它有兩種寫法。const int p 推薦 int const p 第一種可...