世纪难题之--const

本文探讨了C++中const关键字带来的困扰,主要集中在const与指针结合使用时的各种情况,包括int const与const int的区别,以及const int *、int const *和int * const的含义。关键在于理解const修饰的是变量本身还是指针变量。
摘要由CSDN通过智能技术生成

从开始学C++开始,就被const搞晕了,不是难以理解,是真的很容易混淆。

首先const的作用很简单,就是将定义常量,也就是使其变为只读的。

当时当其与指针并到一起的时候,就各种麻烦了。

首先是简单的int const 和 const int

int const a=4;
const int b=3;

这两个作用是相通的,但是要注意在声明的时候就要初始化,因为声明之后就变成只读的了,就不能再对其进行赋值操作了


然后是 const int * 和 int  const *

int x=1;
const int * a=&x;
int const *b=&x;
cout<<&x<<endl;
cout<<a<<endl;
cout<<b<<endl;
这两个const的作用也是相同的,都是直线x地址的指针,都是指明a指向的内容是一个常量,不能修改而其指向的地址可以修改。如进行如下操作,就会报错

int x=1;
int y=2;
const int * a=&x;
int const* b=&x;
*a=4;
b=&y;
cout<<&x<<endl;
cout<<a<<endl;
cout<<b<<end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值