C++学习014函数值传递和地址传递

举报
DreamLife 发表于 2022/04/15 00:35:53 2022/04/15
【摘要】 当我们给一个函数传参数的时候,可以直接值传入函数,也给可以把一个地址传入函数   区别就是一个本身不被改变,而另一本身也在改变,   在开发时候都会用到,   这里做下记录     #include <iostream> using namespace st...

当我们给一个函数传参数的时候,可以直接值传入函数,也给可以把一个地址传入函数

 

区别就是一个本身不被改变,而另一本身也在改变,

 

在开发时候都会用到,

 

这里做下记录

 

 


  
  1. #include <iostream>
  2. using namespace std;
  3. class Test
  4. {
  5. public:
  6. Test(int a)
  7. {
  8. num = a;
  9. }
  10. void setnum(int a)
  11. {
  12. num =a;
  13. }
  14. int getnum()
  15. {
  16. return num;
  17. }
  18. private:
  19. int num;
  20. };
  21. void add(Test t)
  22. {
  23. t.setnum(t.getnum()+t.getnum());
  24. cout<<"\nf num value add:";
  25. cout<<t.getnum()<<endl;
  26. }
  27. void add1(Test *t)
  28. {
  29. t->setnum(t->getnum()+t->getnum());
  30. cout<<"\nf num value add:";
  31. cout<<t->getnum()<<endl;
  32. }
  33. int main()
  34. {
  35. cout << "Hello world!" << endl;
  36. Test tt(100);
  37. add(tt);
  38. cout<<"object tt not chaange is main:";
  39. cout<<tt.getnum()<<endl;
  40. Test tt1(100);
  41. add1(&tt1);
  42. cout<<"object tt not chaange is main:";
  43. cout<<tt1.getnum()<<endl;
  44. return 0;
  45. }
  46. <img src="https://img-blog.csdn.net/20160815152346411?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

 

 

 

 

 

文章来源: dreamlife.blog.csdn.net,作者:DreamLife.,版权归原作者所有,如需转载,请联系作者。

原文链接:dreamlife.blog.csdn.net/article/details/52211533

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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