C++语言的传递方式:传值,传地址,传引用。没记错的话C++98之后传引用才可以用。
第一种方式:
传值:就是拷贝一份数据给,数据量小无所谓,数据量大,这个不推荐,效率很慢的。
示例:第一个fun函数。典型的传值方式。
第二种方式:
传地址:就是把数据的头指针传给函数,改变数据会跟着改变的。
第三种方式:
传引用:引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已,改变数据会跟着改变的,但是必须是同样的名称才可以,看代码。
#include <iostream>
using namespace std;
void fun(int A)
{
int FA = A;
cout << "FA = " << FA << endl;
FA = 10;
}
void fun(int *A)
{
int* FA = A;
cout << "FA = " << *FA <<endl;
*FA = 20;
}
void funic(int& A)
{
int FA = A;
cout << "FA = " << FA << endl;
FA = 30;
A = 30;
cout << "A = " << A<< endl;
}
int main()
{
int a = 100;
int b = 200;
int c = 300;
fun(a);
fun(&b);
funic(c);
cout << a <<endl;
cout << b <<endl;
cout << c <<endl;
return 0;
}
执行结果:
指针传引用:
差一个链接,这位博主写的比较全面:
https://blog.csdn.net/cherrydreamsover/article/details/81839010