news 2026/8/1 8:38:19

函数--值传递

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
函数--值传递

函数值传递特点:

  • 形参是实参的副本,修改形参不影响实参
  • 函数栈帧中形参的独立内存空间
  • 适用场景:无需修改原始数据的计算逻辑

实际代码测试:

#include<iostream> using namespace std; //定义一个 实现两个数字进行交换的函数 void swap(int num1,int num2) { //输出交换前的num1,num2的值 cout<<"交换前:"<<endl; cout<<"num1="<<num1<<endl; cout<<"num2="<<num2<<endl; //对num1,num2进行交换 int temp=num1; num1=num2; num2=temp; //输出交换后的num1,num2的值 cout<<"交换后:"<<endl; cout<<"num1="<<num1<<endl; cout<<"num2="<<num2<<endl; //不需要返回值的时候(void),可以不写return } int main() { int a=10; int b=20; cout<<"交换前:"<<endl; cout<<"a="<<a<<endl; cout<<"b="<<b<<endl; swap(a,b); cout<<"交换后:"<<endl; cout<<"a="<<a<<endl; cout<<"b="<<b<<endl; system("pause"); return 0; }

通过运行上述代码,我们可以发现实参a,b的数值在交换前后并未发生改变 ,而形参num1,num2发生了交换。下面我们将展示其背后的原理。

原理讲解

值传递的局限性

  • 大结构体传递时的性能问题
  • 无法通过值传递实现“输出型参数”
  • 解决方案:改用指针或引用(C++)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/1 12:16:59

ctrl_logic + axis架构设计思路

一、ap_memory axilite axi_stream架构二、代码框架void param_array_top (hls::stream<ap_uint<32> >& src,hls::stream<ap_uint<32> >& dst,ap_uint<32> param_cfg[128]//axilite_ap_memory,generate bram logic ){ #pragma HLS …

作者头像 李华
网站建设 2026/7/28 13:57:29

十三、基于 GPT2 中文模型实现歌词自动续写

在自然语言生成&#xff08;NLG&#xff09;领域&#xff0c;GPT2 凭借轻量化、易部署的特性&#xff0c;成为中文场景下文本创作的优选模型之一。本文将以 “GPT2 中文歌词生成模型” 为例&#xff0c;从代码解析、核心原理到实战优化&#xff0c;手把手教你实现歌词自动续写功…

作者头像 李华
网站建设 2026/7/28 23:22:16

AI原生决策支持平台的选型指南与评估框架

AI原生决策支持平台的选型指南与评估框架关键词&#xff1a;AI原生、决策支持平台、选型评估、企业数字化、智能决策系统摘要&#xff1a;本文从企业数字化转型的实际需求出发&#xff0c;系统讲解AI原生决策支持平台的核心概念、选型逻辑与评估框架。通过生活类比、实战案例和…

作者头像 李华
网站建设 2026/8/1 6:05:22

开题报告 微信小程序 老年人健康老友上门服务

目录微信小程序老年人健康老友上门服务概述核心功能模块技术实现要点创新性与社会价值项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作微信小程序老年人健康老友上门服务概述 该小程序旨在为老年人提供便捷…

作者头像 李华