C++中const int*, const int * const, 和 int const *区别

简介:

本文主要介绍C/C++中,const int*, const int * const, 和 int const *用法的区别,以及相关的示例代码。

1、const int, const int * const, 和 int const 简介

int* :指向 int 的指针

int const * :指向 const int 的指针。

int * const :指向 int 的 const 指针。

int const * const :const 指向 const int 的指针。

const可以在类型的任一侧,如下:

const int * == int const *
const int * const == int const * const

2、常量引用
对变量(此处为 int)的引用,该变量是常量。主要是将变量作为引用传递,因为引用的大小比实际值要小,但是有一个副作用,就是实际变量的别名。我们可能会通过对别名的完全访问而意外更改主变量,因此我们将其设为常量以防止这种副作用。

int var0 = 0;
const int &ptr1 = var0;
ptr1 = 8; // 报错
var0 = 6; // 正常

3、常量指针
一旦常量指针指向一个变量,就不能指向任何其他变量。

int var1 = 1;
int var2 = 0;
int *const ptr2 = &var1;
ptr2 = &var2; // 报错

4、指向常量的指针
一个不能改变它所指向的变量值的指针被称为常量指针。

int const * ptr3 = &var2;
*ptr3 = 4; // 报错

5、常量指针
指向常量的常量指针是一个指针,既不能改变它指向的地址,也不能改变保存在该地址的值。

int var3 = 0;
int var4 = 0;
const int * const ptr4 = &var3;
*ptr4 = 1;     // 报错
 ptr4 = &var4; // 报错

了解更多分析及数据抓取可查看:
http://data.yisurvey.com:8989/
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值