const int/int const----int const*/const int*(char const*/const char*)----int *const----const int &

指针有两个属性,一个是它指向的地方,一个是它指向地方上的内容。
1.const int/int const

//const int i;    //常量 变量"i"需要初始值设定项
const int m = 3;
//m = 5;          //表达式必须是可修改的左值
//int const j;    //常量 变量"j"需要初始值设定项
int const n = 2;
//n = 7;          //表达式必须是可修改的左值

总结:const int/int const必须初始化,且值不允许改变。
2.int const*/const int*(char const*/const char*)

char const *d;
char const *h = "money";
//h[2] = 4; //表达式必须是可修改的左值
h = "monkey";
cout << h << endl;
const char *t;
const char *q = "aoao is the best!";
//q[2] = 6;//表达式必须是可修改的左值
q = "no doubt!";
cout << q << endl;

结果:
在这里插入图片描述
总结:const char * 可以不初始化,指针指向的地方可以改变,但是该指针指向地方上的内容不可改变(个人理解:x为指针,const修饰 * x,所以 * x不可以改变,即指向地方的内容不可以改变)。
3.int *const

//int *const p;  //常量 变量"p"需要初始值设定项
int *const p = &a;
cout << *p << endl;
//p = &b;     //表达式必须是可修改的左值
*p = 5;
cout << *p << endl;

结果:
在这里插入图片描述
总结:int *const与第2部分相反–必须初始化,指针指向的地方不可以改变,但是该指针指向地方上的内容可改变(个人理解:x为指针,const修饰x,即指针指向的地方不可以改变)。
4.const int &
“&”含义:引用(别名)

int &b = a;  //b为a的别名,改变b值,a值随之改变(可以理解为同一个物体,只是叫法不一样,a为大名,b为小名)

例子如下:

int a=3;
cout << "原来a为:" << a << endl;
int &b = a;
b = 20;
cout << "现在a为:" << a << endl;

结果:
在这里插入图片描述
因为为一个物体,所以b的值改变,a的值也改变。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值