首页 > 编程语言 >c++中参数传递的三种方式

c++中参数传递的三种方式

时间:2022-11-20 11:24:49浏览次数:34  
标签:传递 cout 形参 int c++ 参数传递 三种 实参 change

一、值传递

通过值传递传递的形参实际上是对实参的一个拷贝,对形参进行修改操作,不会影响到实参的值。

【实例】

#include <iostream>
using namespace std;

void change(int x,int y){
    int z;
    z=x;x=y;y=z;
}

int main() {
    int x=10,y=20;
    change(x,y);
    cout<<x<<y<<"\n";
    return 0;
}

【运行结果】

1020

 

二、指针传递

在指针传递中,实参是变量的地址,形参是指向变量地址的指针。对形参进行操作等同于对实参进行相同的操作。

【实例】

#include <iostream>
using namespace std;

void change(int *x,int *y){
    int z;
    z=*x;*x=*y;*y=z;
}

int main() {
    int x=10,y=20;
    change(&x,&y);
    cout<<x<<y<<"\n";
    return 0;
}

【运行结果】

2010

 

三、引用传递

在这种传递方式中,形参就是实参的一个别名,对形参的所有操作都等同于对实参操作。

【实例】

#include <iostream>
using namespace std;

void change(int &x,int &y){
    int z;
    z=x;x=y;y=z;
}

int main() {
    int x=10,y=20;
    change(x,y);
    cout<<x<<y<<"\n";
    return 0;
}

【运行结果】

2010

 

φ(゜▽゜*)♪ 感谢观看,希望对你有帮助!

标签:传递,cout,形参,int,c++,参数传递,三种,实参,change
From: https://www.cnblogs.com/yihong-song/p/16908077.html

相关文章

  • Effective C++ - 条款27 - 尽量少做转型动作
    旧式C转型:T(expression)/(T)expression新式C++转型:static_cast/dynamic_cast/const_cast/reinterpret_cast只能通过const_cast去掉constdynamic_cast成本很高,很多编......
  • c++报错:[Error] 'cout' was not declared in this scope
    一、报错代码#include<iostream>intmain(){intx=10;cout<<x<<"\n";return0;} 二、解决方法在代码中加入:usingnamespacestd;正确代......
  • C++实例会员管理程序
    设计快捷店会员的简单管理程序。基本要求如下:(1)定义人民币RMB类,实现人民币的基本运算和显示。(2)定义会员member类,表示会员的基本信息,包括:编号(按建立会员的顺序自动生成),姓名,密......
  • C++ 类的项目练习 定义一个类,来表示某模拟养成游戏中人物: 每个人物, 有昵称,年龄,性别,
    Hero.h:#pragmaonce#include<iostream>#include<string>#include<vector>#include<sstream>usingnamespacestd;typedefenumgender{Man,//男W......
  • C++机票购买系统
    C++机票购买系统机票购买系统该系统有两类用户,会员(多名)和管理员(1名)。其中,会员功能包括:1、首先注册并录入个人信息,包括:用户名,密码,生日,邮箱。注册后,自动设置会员编号。2......
  • [排序算法] 堆排序 (C++)
    堆排序解释什么是堆堆heap是一种近似完全二叉树的数据结构,其满足一下两个性质1.堆中某个结点的值总是不大于(或不小于)其父结点的值;2.堆总是一棵完全二叉树将根......
  • C++ STL简介
     vector,变长数组,倍增的思想size()返回元素个数empty()返回是否为空clear()清空front()/back()push_back()/pop_back()begin()/en......
  • [排序算法] 树形选择排序 (C++)
    树形选择排序解释树形选择排序又称为锦标赛排序,其实理解起来很简单。......
  • [排序算法] 希尔排序 (C++)
    前言本文章是建立在插入排序的基础上写的喔,如果有对插入排序还有不懂的童鞋,可以看看这里。❤❤❤直接/折半插入排序2路插入排序❤❤❤希尔排序解释希尔排序Shell......
  • 三种回归损失函数
    详细介绍这里,清楚的介绍了三种损失函数。我这里重点记录一下他们的异同,方便自己消化理解。1、对于回归损失函数,通常主要有MSE(均方误差),MAE(平均绝对误差),HuberLoss。其中,Hub......