C++:const关键字

一.说明
1.const int和int const没有区别
二.和指针的关系:以*号为分界,前部是被指对象的类型,后部是指针类型。按这个来说:
1.指向常量的变量指针const int * p:
  p是一个变量指针(普通指针);p指向常量。
  其实被指对象即可以是变量也可以是常量,只是p一厢情愿地认为它是常量,因此不能通过p修改它的值。
2.指向变量的常量指针int * const p:
  p是一个常量指针(不能改变所指对象);p指向普通变量
三.和引用的关系(与和指针的关系类似)
1.引用常量的(常量)引用const int & r:
  r是一个(常量)引用(普通引用);r引用常量。
  其实被引用对象即可以是变量也可以是常量,只是r一厢情愿地认为它是常量,因此不能通过r修改它的值。
  虽然const int & r可以引用变量,但int & r不能引用常量。
2.引用变量的常量引用int & const r:
  因为引用本来就不可重新绑定,使用不需要加const限定,甚至就不允许这样定义。
四.和成员函数的关系
1.声明:int className::funName(int x,double y) const;
2.定义:int className::funName(int x,double y) const{...}
3.声明和定义都要有const,否则是不同的函数。这和虚函数不一样。
  这种const函数既不能修改成员变量也不能调用非const成员函数。
  但是这种函数可以修改mutable修饰的成员变量。
五.在C和C++中的不同

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值