C++教程
C++控制语句
C++函数
C++数组
C++指针
C++对象
C++继承
C++多态
C++抽象
C++常用
C++ STL教程
C++迭代器
C++程序

C++ 值/引用传递

在C++中按值调用和按引用调用

有两种方法将值或数据传递给C语言中的函数: 按值调用和按引用调用。原始值不会在按值调用中修改,但会在按引用调用中修改。
CPP在cpp 1中按值调用和按引用调用
让我们理解在C++语言中按值调用和按引用调用的方法。

在C++中按值调用

在按值调用中,原始值未修改。
在调用中按值,传递给函数的值由函数参数本地存储在堆栈存储器位置。如果更改功能参数的值,则仅对当前功能进行更改。它不会更改调用方方法(例如main())中的变量值。
让我们尝试通过以下示例理解C++语言中按值调用的概念:
#include <iostream>
using namespace std;
void change(int data);
int main()
{
int data = 3;
change(data);
cout << "Value of the data is: " << data<< endl;
return 0;
}
void change(int data)
{
data = 5;
}
输出:
Value of the data is: 3

在C++中通过引用进行调用

在通过引用进行调用时,由于我们传递了引用(地址),因此原始值被修改。
此处,值的地址在函数中传递,因此实际和形式参数共享相同的地址空间。因此,在函数内部更改的值会同时在函数内部和外部反映出来。
注意: 要了解通过引用进行的调用,您必须具有指针的基本知识。
让我们尝试通过以下示例理解C++语言中的引用调用的概念:
#include<iostream>
using namespace std;  
void swap(int *x, int *y)
{
 int swap;
 swap=*x;
 *x=*y;
 *y=swap;
}
int main() 
{  
 int x=500, y=100;  
 swap(&x, &y);  // passing value to function
 cout<<"Value of x is: "<<x<<endl;
 cout<<"Value of y is: "<<y<<endl;
 return 0;
}  
输出:
Value of x is: 100
Value of y is: 500   

在C++中按值传递和按引用传递之间的区别

按值传递 引用传递
值的副本传递给函数 值的地址传递给函数
在函数内部所做的更改不会反映在其他函数上 在函数内部所做的更改也反映在函数外部
将在不同的内存位置创建实际参数和形式参数 将在相同的内存位置创建实际和正式参数
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4