CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

函数声明中加入const的作用??

楼主CCCPVSUSA(红色海军)2005-06-01 11:55:47 在 VC/MFC / 基础类 提问

如void   GetClientRect(   LPRECT   lpRect   )   const;  
   
  这样的声明是起到什么作用?? 问题点数:20、回复次数:9Top

1 楼vcmute(BCare4 H1Rest Good9!)回复于 2005-06-01 12:33:46 得分 0

const成员函数,即不修改对象中任何一个比特(bit)Top

2 楼WuOu(天堂*蓝珀湖*仰音*诚彦)回复于 2005-06-01 12:37:57 得分 0

const成员函数,即函数的返回值不可修改。Top

3 楼CCCPVSUSA(红色海军)回复于 2005-06-01 13:07:02 得分 0

上面的那个函数是void的,难道返回值还可以修改么?  
  难道不加const的返回值可以修改??Top

4 楼wanshi_53(幻相)回复于 2005-06-01 13:29:40 得分 8

如果一个成员函数的不会修改数据成员,那么最好将其声明为const,因为const成员函数中不允许对数据成员进行修改,如果修改,编译器将报错,Top

5 楼Microsnow(冰火)回复于 2005-06-01 14:22:46 得分 8

任何不会修改数据成员的函数都应该声明为const类型。如果在编写const成员函数时,不慎修改了数据成员,或者调用了其它非const成员函数,编译器将指出错误,这无疑会提高程序的健壮性。Top

6 楼CCCPVSUSA(红色海军)回复于 2005-06-02 09:53:44 得分 0

询问下上面说的数据成员是指什么??Top

7 楼lovebai(学习学习在学习,菜菜菜真是菜)回复于 2005-06-02 10:20:01 得分 0

就是成员变量啊Top

8 楼uoyevoli(爱什么呢?www.FARPROC.com)回复于 2005-06-02 10:50:44 得分 4

第一,这样的const只能添加在类成员函数上,非成员函数不能用!!  
  第二,这个const对外界声明在这个成员函数里,我不会修改所在类的成员变量。  
  第三,只有const函数可以被const函数调用。如果你这个函数不加cosnt,在另外的一个cosnt函数里是不能调用该函数的(使用函数指针,强制转换不在此讨论之列)。Top

9 楼uoyevoli(爱什么呢?www.FARPROC.com)回复于 2005-06-02 10:52:52 得分 0

对第二的补充:  
  如果你在这个函数里修改了所在类的任何成员变量,编译器就会报错!  
  第三也一样。Top

相关问题

  • 成员函数定义中const的作用
  • const放在函数最后起什么作用
  • 谁知道stat(const char *, struct stat *)这个函数的作用?
  • 谁知道stat(const char *, struct stat *)这个函数的作用?
  • 这const放在函数名后起什么作用呢?
  • memset函数作用
  • 看到函数这样声明,请问这里const什么作用?BOOL Func(int age) const;
  • 该函数的作用?
  • 函数"GetModuleHandle()"的作用?
  • 请问const修饰按引用返回的作用?还有strcpy()函数一点小问题

关键词

  • 函数
  • 修改
  • 编译器
  • 数据
  • 成员
  • 调用
  • const
  • 声明
  • 类
  • 返回

得分解答快速导航

  • 帖主:CCCPVSUSA
  • wanshi_53
  • Microsnow
  • uoyevoli

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo