参数传递有三种方式:
值传递(Pass by value)、指针传递(Pass by pointer)、引用传递(Pass by reference)
程序测试:
#include "stdafx.h"
#include <iostream>
using namespace std;
//值传递(Pass by value)
void fun1(int i)
{
i = 1;
}
//指针传递(Pass by pointer)
void fun2(int *i)
{
*i = 2;
}
//引用传递(Pass by reference)
void fun3(int &i)
{
i = 3;
}
int main(int argc, char* argv[])
{
int t = 0;
int *pT = new int(1);
*pT = 0;
fun1(t);
cout << t << endl;
fun2(&t);
cout << t << endl;
fun3(t);
cout << t << endl;
fun1(*pT);
cout << *pT << endl;
fun2(pT);
cout << *pT << endl;
fun3(*pT);
cout << *pT << endl;
delete pT;
return 0;
}
输出结果是:
0
2
3
0
2
3
环境:
VC6.0+winXP+SP2