網站首頁 美容小常識 享受生活 東方時尚 識真假 高奢 資訊 遊戲攻略 搞笑段子
當前位置:品位站 > 享受生活 > 心理

const指針用法

欄目: 心理 / 發佈於: / 人氣:2.09W
const指針用法

有兩種不同的方式將const關鍵字用於指針:

第一種是指針指向一個常量對象,防止使用該指針修改所指向的值

第二種是將指針本身聲明為常量,防止改變指針指向的位置。

1、 指向一個常量的指針

例如,聲明一個指向常量的指針pt:

int age=23

const int*pt=&age

該聲明指出,pt指向一個const int(這裏為23),因此不能使用pt來修改這個值,即*pt的值為const,不能被修改:

*pt+=1 //不可行

但是pt的聲明並不意味着它指向的值是一個常量,而只是意味着對pt而言這個值是常量,例如:pt指向age,而age不是const,可以直接通過age變量來修改age的值,但不能使用const指針來修改它:

*pt=20 //不可行

age=20 //可行

2、 將const變量的地址賦給指向const的指針是可行的,但將const的地址賦給常規指針是不可行的:

const int age=23

const int*pt=&age //可行

const int age=23

int*pt=&age //不可行

第一種情況禁止使用age來修改值23,也不能使用pt來修改

第二種情況不可行的原因是將常量age的地址賦值給pt。則可以使用pt來修改age的值,這就使得age的const狀態很荒謬,因此C++禁止將const的地址賦給非const指針,如果非要這麼做,只能使用強制轉換來突破這種限制。

Tags:const 指針