您的位置:首页 > 其它

关于const与临时变量与函数返回值

2014-02-20 16:12 260 查看
c++中函数的返回值是存储在临时变量中的

下面是个实验



如图,func2函数建立的引用不是func1形参x的引用,而是临时变量的引用

(这个引用比指针好用,因为你无法取得临时变量的地址,所以无法建立指向临时变量的指针)

所以说函数的返回值是存储在临时变量中的

const与函数返回值的类型有什么关系呢?

c++默认函数的返回值是const型

看下面:

const int x = 10;

int &y1= x;//错误

const int &y2 = x;.//正确,

由这个可知,const变量只能建立const引用,而无法建立普通引用

所以说,如果函数的返回值的临时变量如果是const类型的,那就无法建立该变量的普通引用

int func1(int x)

{

return x;

}

int func2(const int &xx)

{

}

int func3(int &x)

{

}

int main()

{

int x = 10;

func2( func1(x));

func3(func1(x));//错误

}
所以说函数的返回值的临时变量是const型的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐