一文彻底弄懂传入传出参数——超经典博文

参考:博文02:https://zhidao.baidu.com/question/389693262.html三、注意事项(博文02)C++中的参数,既可以当做传入参数,也可以当做传出参数,具体要看参数的数据类型。1)非指针,非引用类型:一定是当做传入参数;2)指针,引用类型:既可以当做传入参数;也可以当做传出参数;甚至可以同时是传入参数,也是传出参数。3)要看参数到底是哪种类型,要...
摘要由CSDN通过智能技术生成

参考:
博文02:https://zhidao.baidu.com/question/389693262.html

一、基本概念

1、传入传出参数指的是函数参数,也可以叫做函数参数的输入输出特性。

2、传出参数:有的地方也叫参数是输出用的,传出参数指通过函数调用(形参)来修改实参的值。

3、传入参数:就是数值的传递。在函数中不会修改这个参数(不会也修改不了实参的值),不会修改调用这个函数的函数的值

4、注意:(1)有些函数参数传入参数又是传出参数

二、示例

4、参考:https://www.cnblogs.com/sanerer/p/9233115.html

传入参数与传出参数

int func(int num1, int *num2)
{
   
    *num2 = 5;
    return num1 + *num2; 
}

其中,num1为传入参数,num2为传出参数。
传入参数为本身有值,传入函数让函数使用;传出参数本身没值,从函数中带出值(相当于函数的返回值)。

如何实现一个传出参数?
定义一个变量,将这个变量的地址传过去,在函数中实现对这个变量的操作。

函数如何返回多个值?
使用传出参数,可以实现返回多个值。

5、参考:https://bbs.csdn.net/topics/250055241
一种在软件编码的常用规范,用来标明函数参数的输入、输出性质,在C#中有类似关键字in,out,在C中通过宏定义标识:
#define IN /* 输入参数,只读*/
#define OUT /* 输出参数,只写 /
#define INOUT /
输入、输出参数,读写*/

使用例:
int FindMax(IN int iVal1, IN int iVal2, OUT int iResult);
6、在函数中改变传入的参数值:引用参数的使用
来源:https://blog.csdn.net/ltolll/article/details/836361
非引用参数,也叫复制实参
void swap(int v1, int v2) //此函数本意是交换两参数的值
{
int tmp = v2;
v2 = v1; // assigns new value to local copy of the argument
v1 = tmp;
} // 此函数不能达到目标,因为形参只是实参的一个副本,并不是其本身。

引用参数,也叫引用形参
void swap(int &v1, int &v2) //&标明两参数是引用传递
{
int tmp = v2;
v2 = v1;
v1 = tmp;
} // 此函数能达到目标,因为引用形参直接关联到其所绑定的对象。

三、注意事项(博文02ÿ

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值