注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

hhfighting的博客

以责人之心责己,以恕己之心恕人

 
 
 

日志

 
 
 
 

C++中const的使用  

2014-07-17 14:13:15|  分类: C & C++ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
今天coding犯的一个错误:在const修饰的类成员函数中修改成员变量的值。看到错误提示后才反应过来这样的函数应该只能read类成员变量。
借此机会,复习一下const的使用。
(1)类成员函数名+const:该函数被定义为常函数,只能读取类变量,及访问常成员函数。注意不能访问非常成员函数。
例外:如果成员变量被声明为mutable,其可以在常量函数中进行修改。
(2)const + 类成员变量:常成员变量。必须在类构造器的初始化列表中进行初始化,后续不能再修改此值。
(3)const 和 指针:常量指针和指针常量,要注意const的位置。举例说明如下:
const char * st1: //常字符串指针,定义一个字符串常量,字符串内容不可以修改。但st1可以指向别的字符串。
char const * st2; //同上
char * const st3; //字符串类型的长指针(地址不可变),不可以再指向其它字符串。
区分记忆:前两个const均在*的左方,后一个在右方。
(4)const和引用:常引用,不能改变其值。多用作形参,防止函数内部改变其值。功能等同于运用普通变量(非引用,非指针),之所以用引用是考虑到效率的问题。
(5)const对象:常量对象只能调用常量函数。



  评论这张
 
阅读(52)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017