C++学习之const指针和多维数组

本文介绍了C++中的const指针,包括const int *p1、int *const p2和const int *const p3的含义。重点讨论了const变量作为函数形参时的作用以及编译器如何处理顶层const。此外,还讲解了多维数组的概念,通过比喻将二维及多维数组理解为树状结构。
摘要由CSDN通过智能技术生成

这里的指针和后面讲的多维数组没有任何关系,之所以放在一篇文章中是因为,两个的内容都很少。 

const int *p1;  表示指针p1指向的内容是不可改变的

 int *const p2;  表示指针地址是不可改变的

 const int *const p3;  表示指针的地址和内容都不可改变


有关const定义的量里,不可改变的是顶层const,可改变的是底层const。


const变量作为函数形参:

通常,函数 void  func(const int &i);对于不需要改变的值,我们将它定义为const形式,以保证函数不会改变这个变量。

在函数重载中,void func(const int i);和void func(int i);是不可以重载的,虽然两个函数的参数类型不同,但是当我们用实参初始化形参时,编译器会自动忽略顶层const。也就是说,当形参有顶层const的时候,传给它常量对象和非常量对象都是可以的。而你调用func(int i)时也能传入非常量对象,这时编译器

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值