C++ const与指针共同使用

const修饰指针变量时,基本含义如下:
1. 如果唯一的const位于符号*的 左侧 ,表示指针所指数据是常量,数据 不能
通过 本指针改变,但可以通过其他方式进行修改;指针本身是变量,可以指
向其他的内存单元。
2. 如果唯一的const位于符号*的 右侧 ,表示指针本身是常量,不能让该指针
指向其他内存地址;指针所指的数据可以通过本指针进行修改。
3. 在符号*的左右各有一个const时,表示指针和指针所指数据都是常量,既
不能让指针指向其他地址,也不能通过指针修改所指向的内容
const既出现在*的左侧,也出现在*的右侧,表示指针本身及指针所指的数据
都是不可修改的
示例代码如下:
#include<iostream>
using namespace std;
int main( ) {
int a1=3; //普通变量,a1=5是正确的
const int a2=a1; //数据是常量的,a2=5是错误的
int * a3=&a1; //普通指针指向普通变量,*a3=6是正确的
const int * a4=&a1; //数据是常量的,普通指针*a4=5是错误的
int * const a5=&a1; //指针是常量的,不能修改指针,但*a5=10是正确的
int const * const a6=&a1; //数据是常量的,指针也是常量的
const int * const a7=&a1; //数据是常量的,指针也是常量的
return 0; }
可以简单地记住const的修饰规则:const修饰其左侧的内容;如果const是本行的第一个标识符,
则它修饰其右侧的内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值