关于参数修饰符const的用法

饭钵 2007-08-01 12:34:47
我最近在自学C++,现在我有一个看书时产生了一个疑问,书上定义了一个叫Money的类
class Money
{
public:
friend Money add(const Money& amount1,const Money& amount2);
……
private:
……
double get_value() const;
void output(ostream& outs) const;
……
}
我想问一下,什么时候const放在参数前面,什么时候const放在函数声明的后面
...全文
185 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
taodm 2007-08-01
  • 打赏
  • 举报
回复
找<C++ Primer>,看书后索引表,找const
星羽 2007-08-01
  • 打赏
  • 举报
回复
const放在参数前面:

这个参数在函数内不能被改

const放在函数声明的后面 :

这个成员函数不能修改任何类的成员变量
MPTD_Fire 2007-08-01
  • 打赏
  • 举报
回复
1. const常量,如const int max = 100;
2. const 修饰类的数据成员。如:
class A

{

const int size;



}
3. const修饰指针的情况,见下式:

int b = 500;
const int* a = & [1]
int const *a = & [2]
int* const a = & [3]
const int* const a = & [4]
4. const的初始化
5. 另外const 的一些强大的功能在于它在函数声明中的应用。在一个函数声明中,const 可以修饰函数的返回值,或某个参数;对于成员函数,还可以修饰是整个函数。
6. 类成员函数中const的使用
一般放在函数体后,形如:void fun() const;
任何不会修改数据成员的函数都因该声明为const类型。如果在编写const成员函数时,不慎修改了数据成员,或者调用了其他非const成员函数,编译器将报错,这大大提高了程序的健壮性。
飞哥 2007-08-01
  • 打赏
  • 举报
回复
const就是不让改
放在参数,就是参数不让改
放在最后,就是啥也不让改

这个是编译期的东东
如果绕过编译器。。。。
jxlczjp77 2007-08-01
  • 打赏
  • 举报
回复
看const的用法,百度一下出来N多

64,648

社区成员

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

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