【C++札记】引用

介绍

引用是C++中特有的语法,在C语言中不存在。

本质上引用(reference)就是指针,在类型名后面加上一个&号就是引用类型。

1.指针与引用的定义进行比较

指针定义:                                                  引用定义:

int  a = 123;                                               int a =123;

int* p = &a;                                                int& r = a;

称作:p指向了变量a                                          称作:r是变量a的引用或r引用了目标对象a

2.引用可以看作是目标对象的一个别名,对引用的操作其实都是对目标对象的操作,引用不开辟空间。

3.引用必须在定义时初始化,也就是一创建就要与目标对象绑定,一经绑定不可修改。

   int  a = 124;

   int &r;  //语法错,必须初始化

4.可对引用再次引用,多次引用相当于变量有多个别名。

    int a = 10;
    int &aa = a;
    int &aaa = aa;

引用作为函数参数

 

#include <stdio.h>

int add(int& a, int& b)
{
	return a + b; 
}

int main()
{
	int a = 1, b = 2;
	printf("%d\n", add(a, b));
	return 1;
}

 

 

 

引用作为函数的返回值

 

#include <stdio.h>
#include <string.h>

struct Student
{
	char name[32];
	int  age;
};

Student stu;

Student& fun()
{
	strcpy(stu.name, "aaa");
	stu.age = 30;
	return stu;
}

int main()
{
	Student& stu = fun();
	printf("name = %s, age = %d\n", stu.name, stu.age);
	return 1;
}


欢迎加群交流:C/C++开发交流

 

 

posted @ 2017-07-15 20:28  蜗牛201  阅读(76)  评论(0编辑  收藏  举报