C++基礎知識(引用)

引用

#include<iostream>
using namespace std;

int main()
{
	//引用就是給變量起別名
	int a = 12;
	int &c = a;//爲變量a起別名s【聲明變量a的一個引用】
	int &d = a;

	cout << &a << ' ' << &c << ' ' << &d << endl;

	int& e = c;
	int f = 14;
	c = f;  //f的值賦給c
	cout << a << endl;
	c = 13;
	cout << a << endl;

	system("pause");
	return 0;
}

引用做參數

#include<iostream>
using namespace std;

void fun(int& a) //引用是一種直接的操作
{
	a = 13;
	//cout << a << endl;
}
void fun1(int a)      
{
	a = 14;
	cout << "fun1:" << a << endl;
}
void fun2(int *a) //指針是一種簡介的操作
{
	*a = 15;
}
int main()
{
	int b = 12;
	//fun(b);
	fun2(&b);
	cout << b << endl;
	system("pause");
	return 0;
}

其他類型的引用

#include<iostream>
using namespace std;

int main()
{
	//常量的引用
	const int& a = 12;  //常量不能進行修改(寫操作)
	cout << a << endl;

	//數組的引用
	int arr[12];
	int(&p)[12] = arr; //引用 類型
	p[2] = 12;
	cout << arr[2] << endl;

	int arr2[2][3];//類型一定匹配
	int(&p2)[2][3] = arr2;
	p2[1][2] = 123;
	cout << arr2[1][2] << endl;

	//指針的引用
	int b = 12;
	int *point = &b;
	int* (&p3) = point;
	*p3 = 34;
	cout << *point << ' ' << b << endl;
	system("pause");
	return 0;
}

引用與指針的區別

1、引用聲明就要初始化,指針不用,int *p = NULL;

2、引用初始化之後就不能引用其他空間了,指針可以指向其他空間;

3、引用不佔存儲空間,指針佔空間;

4、引用效率更高,指針是間接操作;

5、引用更安全,指針可以偏移;

6、指針更靈活,直接操作地址,指針更通用,C語言和C++都行。

&的三種作用(運算符重載現象)

1、聲明變量的時候用&,表示引用;

2、變量前邊加&,表示取地址;

3、數&數,表示位與運算。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章