心理

当前位置 /首页/完美生活/心理/列表

const指针用法

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指针,如果非要这么做,只能使用强制转换来突破这种限制。

TAG标签:const 指针 #