新手请教个关于const的问题

FrogLion 2005-06-16 11:19:19
有段代码函数定义如下
A B::C (void) const
{
....
}
A是函数返回类型,B是类名,C是类的一个方法。
这是B类Cpp文件的一部分,请问const在这里起什么作用呢?
...全文
85 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
FrogLion 2005-06-16
  • 打赏
  • 举报
回复
谢谢楼上
Beover1984 2005-06-16
  • 打赏
  • 举报
回复
一般来说任何一个类如果期望被广泛使用就应该把那些不修改类数据成员的成员函
数声明为const 成员函数,但是把一个成员函数声明为const 并不能阻止程序员可能做到的
所有修改动作,把一个成员函数声明为const 可以保证这个成员函数不修改类的数据成员
但是如果该类含有指针,那么在const 成员函数中就能修改指针所指的对象,编译器不会
把这种修改检测为错误
Beover1984 2005-06-16
  • 打赏
  • 举报
回复
成员函数后面加的const指出这个函数不会更改类的数据成员
foochow 2005-06-16
  • 打赏
  • 举报
回复
不允许修改调用C方法的对象
whatsouta 2005-06-16
  • 打赏
  • 举报
回复
class A
{
public:
fun1()const //常成员函数
{};
fun2()
{};
};
const A a;
a.fun1();//正确,
a.fun2();//错误,


常成员函数的作用有:

(1)const成员函数不被允许修改它所在对象的任何一个数据成员。
(2)const对象的访问只能靠const成员函数

65,206

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧