const 与函数的关系

         我们知道,如果要定义一个只读的变量,可以这样做const int a =5;那么a也就一直等于5

今天遇到const和函数之间的问题,不太熟悉,因此了解了一下

const 修饰参数

        第一种情况:int  a(const int &b,const int &c){  },在这个函数里面,传入的两个引用(或者说是指针)的值都不能够改变,对于非指针或者引用那就无任何意义了,因为他本来就是个局部变量,很快就释放了,因此,这种情况下,不会改变传去的参数的值,只读

const 在函数名之后

        第二种情况: int a() const; 在函数名后面加上const关键字,这个const 在这种情况下,对于成员函数才有意义,意思是不改变成员的值,叫常量函数  比如说是这样子

class A

{

int a;

int b;

int  c() const;

int d() const;

int e();

}

        这样子的话,常量成员函数,就不能访问非常量成员函数(就是那些普通函数),因为那些函数很有可能会改变成员的值,那么const的初衷就达不到了

const 在函数名之前

        第三种情况:const int *a(){};const 在函数前面,便是传回的指针或引用不能被修改,用于描述返回值的,传回的值不被修改,

如 const  char* a();  那么 不能这样用 char  *p = a();  要这样用  const char*p = a();


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值