现在的位置: 首页 > 综合 > 正文

const作为函数返回值的作用

2013年06月23日 ⁄ 综合 ⁄ 共 357字 ⁄ 字号 评论关闭

看一个函数:

const int getval(void)

{

return 100;

}

该函数返回值里的const其实是可有可无的

再看一个函数

const int* getptr(void)

{

int *p = (int *)0xCC;

return p;

}

这个函数的返回值里的const就不是可有可无的了,它表示返回一个指针,该指针指向的内容不能被修改。

const int *p = getptr();//该行可以编译通过

int *p = getptr();//该行不能编译通过

另外,const放在类成员函数后面,与不放在类成员函数后面,可以实现该类成员函数的重载。调用的时候,通过定义一个常量或非常量的类对象,调用对象的成员函数来自动选择重载的版本。

如:

const A a1;
A a2;
a1.x();//调用const版本
a2.x();//调用非const版本

 

抱歉!评论已关闭.