普通变量的引用
#include <Windows.h>
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
int a = 10;
int &b = a; // 引用
b = 20;
printf("a = %d\n", a);
getchar();
return 0;
}
指针类型变量的引用
#include <Windows.h>
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
int a = 10;
int *b = &a;
int *&c = b;
*c = 20;
printf("a = %d\n", a);
getchar();
return 0;
}
引用作为函数参数
#include <Windows.h>
#include <iostream>
using namespace std;
void func1(int *x, int *y)
{
int tmp = *x;
*x = *y;
*y = tmp;
}
void func2(int &x, int &y)
{
int tmp = x;
x = y;
y = x;
}
int main(int argc, char **argv)
{
int x = 10;
int y = 20;
func1(&x,&y);
printf("x = %d, y = %d\n", x, y);
func2(x,y);
printf("x = %d, y = %d\n", x, y);
getchar();
return 0;
}
运行结果
x = 20, y = 10
x = 10, y = 10