牛骨文教育服务平台(让学习变的简单)
博文笔记

C++语言引用

创建时间:2017-02-12 投稿人: 浏览次数:421

引用就是指变量的一个别名(不能只有别名)   引用必须初始化。

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



声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。