【C++】引用变量--3.引用的属性与特别之处

举报
王博Kings 发表于 2020/12/30 00:13:06 2020/12/30
【摘要】 目录 首先先看一个程序示例  refcube(x + 3.0)函数调用不了 临时变量,引用参数和const 什么是左值? 为什么要尽可能使用const   首先先看一个程序示例 // cubes.cpp -- regular and reference arguments// 求立方,然后一个是普通的,一个是通过引用#include<iostream>dou...

目录

首先先看一个程序示例

 refcube(x + 3.0)函数调用不了

临时变量,引用参数和const

什么是左值?

为什么要尽可能使用const


 

首先先看一个程序示例


  
  1. // cubes.cpp -- regular and reference arguments
  2. // 求立方,然后一个是普通的,一个是通过引用
  3. #include<iostream>
  4. double cube(double a);
  5. double refcube(double &ra);
  6. int main()
  7. {
  8. using namespace std;
  9. double x = 3.0;
  10. cout << "------regular------" << endl;
  11. cout << cube(x);
  12. cout << " = cube of " << x << endl<<endl;
  13. cout << "------reference------" << endl;
  14. cout << refcube(x);
  15. cout << " = cube of" << x << endl<<endl;
  16. return 0;
  17. }
  18. double cube(double a)
  19. {
  20. a *= a*a;
  21. return a;
  22. }
  23. double refcube(double &ra)
  24. {
  25. ra *= ra* ra;
  26. return ra;
  27. }

运行结果:

注意:

如果仅仅是为了 传递,而不改变,应该使用const

refcube( const double &ra )   //上述代码这么做会产生错误消息,因为return ra这里产生矛盾了

 refcube(x + 3.0)函数调用不了

x+3.0不是double类型的变量,因此程序将创建一个临时变量初始化为表达式x+3.0的值

临时变量,引用参数和const

什么是左值?


  
  1. double refcube(const double &ra)
  2. {
  3. return ra * ra * ra;
  4. }

为什么要尽可能使用const

文章来源: kings.blog.csdn.net,作者:人工智能博士,版权归原作者所有,如需转载,请联系作者。

原文链接:kings.blog.csdn.net/article/details/90482984

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。