引用:不是定义一个别名,而是对一个变量从新定义一个别名。

eg1:

引用的初步认识_引用

eg2:

#include <iostream>

using namespace std;

int main()

{

int a = 10;

int c = 12;

int &d = a;//d引用a

int &b = a;

b = 20;//通过b的值修改a

int &e = b;

e = 30;

//int &b = c;//错:b已经引用了a

//int &b;//错

//b = c;

cout<<a<<endl;

return 0;

}

引用的特点:

 (1)一个变量可有多个别名

(2)引用必须初始化

(3)引用必须从一而终(只在初始化时引用一次,不能改变为在引用其他变量)


const引用

#include <iostream>


using namespace std;

int main()

{

int a = 10;

        const int &reta = a;

//reta = 20; //若加上const则reta为常量,不可通过reta的值改变a

cout << b <<endl;

return 0;

}

注:c++ 用const修饰为常量

    c   用const修饰为常变量


引用作用于函数参数

引用的初步认识_初步知识_02

注:引用背后的实现是指针。

引用与指针之间的区别和联系:

(1)引用只能在定义的时候初始化一次。(从一而终)

(2)引用必须指向有效的变量,而指针可以为空。

(3)sizeof:引用指向变量的类型。指针在32位平台下始终为4.

(4)自增自减:引用是对变量的子增自减。而指针是偏移到下一个。

(5)引用比指针安全。