为什么在函数的声明后面还有一个 const?
2010-08-26 18:50
232 查看
一个极简单的小程序,在它的头文件里有这么一句:
void name () const;
void name()倒还好说,就是那个最后的 const是什么意思?
const 不是用来声明常量的吗?
比较好的解答:(分析整理)
这个函数应该是某个类的成员函数吧?
家了const说明这个函数不可以修改类的成员变量(或者说不可以改变对象的内部状态),加了const的函数:
(1)不能修改成员变量;
(2)不能调用非const函数;
(3)其他const函数可以调用它;(其他非const函数当然也可以调用它)
(4)const对象上只能调用const方法,比如:const A a; a.f();
void name () const;
void name()倒还好说,就是那个最后的 const是什么意思?
const 不是用来声明常量的吗?
比较好的解答:(分析整理)
这个函数应该是某个类的成员函数吧?
家了const说明这个函数不可以修改类的成员变量(或者说不可以改变对象的内部状态),加了const的函数:
(1)不能修改成员变量;
(2)不能调用非const函数;
(3)其他const函数可以调用它;(其他非const函数当然也可以调用它)
(4)const对象上只能调用const方法,比如:const A a; a.f();
相关文章推荐
- 为什么在函数的声明后面还有一个 const? 如:void fun() const;
- 为什么在函数的声明后面还有一个 const?
- 为什么在函数的声明后面还有一个 const? 如:void fun() const;
- 为什么在函数的声明后面还有一个 const? 如:void fun() const;
- 为什么在函数的声明后面还有一个 const? 如:void fun() const;
- var tensquared=(function(x) {return x*x;}(10)); //这是一个函数表达式 问:为什么花括号后面还有一个(10)的?而且整个句子用()扩起来?这个是什么表
- const(一):(转) 一个函数名后面加const表示什么意思
- 一个函数名后面加const
- 模板类成员函数的定义和声明为什么要放在一个文件中
- 一个函数名后面加const表示什么意思
- 一个函数名后面加const表示什么意思?
- 类中成员函数声明后面的const的含义!
- 一个函数名后面加const表示什么意思
- 一个函数名后面加const
- 一个函数名后面加const表示什么意思??
- 一个函数名后面加const
- 为什么time(time_t *)函数里还有一个loc参数而不是time(void)
- 一个函数名后面加const
- const(一):(转) 一个函数名后面加const表示什么意思
- C++函数后面跟一个const表示该函数是常成员函数