const int size() const //看不懂这句

acrobatyuer 2007-11-25 09:59:35

const int size() const
{
return(int)recVec.size();
}



以上代码中在函数参数表后面的const修饰符是在这里起什么作用呀!


各位高手们帮忙下呀!在线等
...全文
527 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
PcrazyC 2007-11-25
  • 打赏
  • 举报
回复
TO 8楼:是的,只针对该类的成员变量


TO 9楼:不是不能进行赋值操作,而是不能对该类成员变量进行改变,如果是一个全局变量A呢,执行A+=1是可以的.

这里的CONST就相当于把成员变量在原来的类型的基础上再加一个CONST类型了,加上CONST类型后的成员变量能进行什么操作,在这里面成员变量就能进行什么操作,而非成员变量的类型不会改变
zhugay 2007-11-25
  • 打赏
  • 举报
回复
第一个CONST说明这个函数返回CONST INT类型,返回值是常量,第二个CONST说明这个函数不会改变成员就是的值,如果成员变量的值发生了改变就会报错

the second 'const' 表明不能在该函数里面执行 赋值操作。如: ? = ?;a+=100;就是说只能得到值,不能修改值
acrobatyuer 2007-11-25
  • 打赏
  • 举报
回复
你们所说的不会改变成员变量的值是指的该类的成员变量吗?
PcrazyC 2007-11-25
  • 打赏
  • 举报
回复
的确是这样,我试了,代码如下:



#include<iostream>

using namespace std;

class aaaa
{
int x;
public:
aaaa(int x){
this->x=x;
}
void Print()
{
cout<<x<<endl;
}
void print() const
{
cout<<x<<endl;
}
};

int main()
{
const aaaa b(2);
b.print();
return 0;
}

PcrazyC 2007-11-25
  • 打赏
  • 举报
回复
顶5楼,这点我以前还不知道,学习了

是不是如果创建了一个CONST对象的话,只能调用函数声明后要CONST的成员函数,其它的都不能调用,还没试过,待会看看
yydrewdrew 2007-11-25
  • 打赏
  • 举报
回复
如果你创建一个类的const对象的话,可以调用参数表后加const的成员函数。
yyy6210 2007-11-25
  • 打赏
  • 举报
回复
跟上学习~~
yydrewdrew 2007-11-25
  • 打赏
  • 举报
回复
表示该函数不修改类成员变量
PcrazyC 2007-11-25
  • 打赏
  • 举报
回复
第一个CONST说明这个函数返回CONST INT类型,返回值是常量,第二个CONST说明这个函数不会改变成员变量的值,如果成员变量的值发生了改变就会报错

打错字了,抱歉
PcrazyC 2007-11-25
  • 打赏
  • 举报
回复
第一个CONST说明这个函数返回CONST INT类型,返回值是常量,第二个CONST说明这个函数不会改变成员就是的值,如果成员变量的值发生了改变就会报错

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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