今天刚学了C++的引用,其中包括普通变量的引用、指针变量的引用,结构体的引用以及函数参数中使用引用,下面在程序中说明以上这几种引用的使用方法。
#include <iostream>
#include <stdlib.h>
using namespace std;
typedef struct{
int x;
int y;
}Coordinate;
void fun(int &m, int &n);
int main() {
//普通变量的引用
int a = 0; //定义一个普通的变量 a
int &b = a; //为a起一个别名b,此时改变a和b代表的是一个变量,改变b的值a的值也将发生改变。
b = 20;
cout << a << endl;
//指针的引用
int c = 0; //定义一个普通的变量c
int *p = &c; //定义一个指针,指向变量c
int *&q = p; //为指针变量p起一个别名q,
*q = 5; //修改q指向的变量(c)的值
cout << c << endl; //输出c的值为5
//结构体的引用
Coordinate coord; //定义一个Coord类型的变量coord
Coordinate &coord1 = coord;//为 coord起一个别名
coord1.x = 100; //通过引用修改coord的属性的值
coord1.y = 200;
cout << coord.x << "," << coord.y << endl; //输出coord的属性的值
//函数参数使用引用
int k = 3;
int l = 5;
fun(k, l);
cout << k << "," << l << endl;
return 0;
}
//交换两个参数的值
void fun(int &m, int &n){
int c = 0;
c = m;
m = n;
n = c;
}