C++语言引用
引用就是指变量的一个别名(不能只有别名) 引用必须初始化。
int a=3; int &b=a;//(为a起个别名b,也是将别名b初始化为a) b=10;//(对别名做任何操作都是对其本身做操作)
结构体类型的相关引用
struct Coor{ int x,y; } Coor c1; Coor &c=c1; c.x=10; c.y=20;
指针类型的引用:类型*&指针引用名=指针;
int a=10; int *p=&a; int *&q=p; *q=20;//(则a的值为20)
引用做函数参数
void fun(int &a,int &b) { }
fun(x,y)将x,y分别起别名,接下来在函数体中直接用别名来操作
#include<iostream> #include<stdlib.h> using namespace std; typedef struct { int x; int y; }coord; int fun(int &a,int &b) { int c=0; c=a; a=b; b=c; } int main() { cout<<"变量的引用:"<<endl; int a=10; int &b=a; b=20; cout<<a<<endl; a=30; cout<<b<<endl; cout<<"结构体的引用:"<<endl; coord c; coord &c1=c; c1.x=1; c1.y=2; cout<<c.x<<","<<c.y<<endl; cout<<"指针的引用:"<<endl; int d=4; int *p=&d; int *&q=p; *q=5; cout<<d<<endl; cout<<"引用做函数参数:"<<endl; int e=7; int f=8; cout<<e<<","<<f<<endl; fun(e,f); cout<<e<<","<<f<<endl; return 0; }
变量的引用: 20 30 结构体的引用: 1,2 指针的引用: 5 引用做函数参数: 7,8 8,7
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 各个版本的IIS之间的区别 IIS1 ~ IIS6
- 下一篇: C++中引用的本质