const指標與指向const物件的指標

2021-07-10 19:19:47 字數 1062 閱讀 9680

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 第一種可...