猫大智 2022-10-03 20:57 采纳率: 60%
浏览 20
已结题

关于c++分文件为什么cout写在源文件可以正常运行,写在另一个文件里就不可以了呢?

我是大二学生,在自学c++。今天学到分文件应用,在制作一个两个整数互换的代码时,我发现当我把cout放到源文件时,两个整数是正常互换的,像图片这样:

img


但当我把cout存放在“应用”这个文件里时,他却没有完成互换,像下图那样。

img


可我认为这个程序应该是可以运行的,所以对出现这样的情况我十分不解,还希望有teacher可以指教我一下。谢谢。

  • 写回答

2条回答 默认 最新

  • 叶落秋白 后端领域优质创作者 2022-10-04 00:43
    关注

    这就是值传递与地址传递的问题了,代码是没错的。
    值传递就是你现在写的这个swap函数,当你调用函数的时候,该函数会产生实参的副本,相当于张三此时买了两瓶可乐,这时候李四调用了函数,李四也有两瓶可乐,当李四喝完一瓶,他是不会对张三造成影响的,这就是所谓的副本。
    而地址传递相当于什么呢,我叫张三,今天18岁,那等过了十年后,我28岁,我还是张三,这就是地址传递。
    使用引用可以简化地址传递,比如:swap(int &a,int &b)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月17日
  • 已采纳回答 12月9日
  • 创建了问题 10月3日

悬赏问题

  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果