欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【2】学习C++之引用

程序员文章站 2022-05-23 22:03:20
C++中的引用类似于现实生活中人们之间起昵称,昵称和本名都可以辨别人。 1.普通变量的引用: 其中不能光有昵称没有本名,如果只定义了引用,却没有将这个引用指向哪个变量,编译器会报错。 2.结构体的引用: 3.指针类型的引用: 一般形式为——类型 *&指针引用名 = 指针; 4.引用作为函数参数: 两 ......

c++中的引用类似于现实生活中人们之间起昵称,昵称和本名都可以辨别人。

1.普通变量的引用:

int a=10;//a为本名
int &b=a;//b为a的昵称

其中不能光有昵称没有本名,如果只定义了引用,却没有将这个引用指向哪个变量,编译器会报错。

2.结构体的引用:

typedef struct 
{
    int x;
    int y;
}coor;

#include <iostream>
using namespace std;
int main(void)
{
    coor c1;
    coor &c=c1;
    c.x=10;
    c.y=20;
    cout<<c1.x<<c1.y;//使用引用也能输出c的值
    return 0;
}

3.指针类型的引用:

一般形式为——类型 *&指针引用名 = 指针;

#include <iostream>
using namespace std;
int main(void)
{
    int a = 10;
    int *p = &a;
    int *&q = p;
    *q = 20;
    cout << a << endl;
    return 0;
}

4.引用作为函数参数:

两种函数参数对比:

第一种:

void fun(int *a,int *b)
{
    int c = 0;
    c = *a;
    *a = *b;
    *b = c;
}

int x = 10,y = 20;
fun(&x,&y);

第二种:

void fun(int &a,int &b)
{
    int c = 0;
    c = a;
    a = b;
    b = c;
}

int x = 10,y = 20;
fun(x,y);