最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++之&與*符號(hào)用法案例詳解

 更新時(shí)間:2021年09月03日 14:25:17   作者:阿瓜呱呱  
這篇文章主要介紹了C++之&與*符號(hào)用法案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

C++ 之 & 和 *

1.基本概念與二者區(qū)別

指針是一塊內(nèi)存的地址值,而引用是一塊內(nèi)存的別名。

從概念上講。指針從本質(zhì)上講就是存放變量地址的一個(gè)變量,在邏輯上是獨(dú)立的,它可以被改變,包括其所指向的地址的改變和其指向的地址中所存放的數(shù)據(jù)的改變。

而引用是一個(gè)別名,它在邏輯上不是獨(dú)立的,它的存在具有依附性,所以引用必須在一開始就被初始化,而且其引用的對(duì)象在其整個(gè)生命周期中是不能被改變的(自始至終只能依附于同一個(gè)變量)。

引用://www.fzitv.net/article/221789.htm

下面附上一段代碼以便理解抽象的概念:

#include<iostream>
#include<string>
using namespace std;
int main()
{
	int a = 5, b = 10, c = 15;
	int *p1;	//指針可以不初始化
	int &d = b;	//引用必須初始化(相當(dāng)于給一個(gè)人起外號(hào)要針對(duì)那個(gè)人)
	p1 = &a;	//p1指向a的地址
	cout << "a:" << a << endl << "a的地址:" << &a << endl ;
	cout << "b:" << b << endl << "b的地址:" << &b << endl;
	cout << "c:" << c << endl << "c的地址:" << &c << endl;
	cout << "p1(的地址):" << p1 << endl << "p1所指對(duì)象:" << *p1 << endl;
	cout << "d:" << d << endl << "d的地址:" << &d << endl;
	d = c;		//相當(dāng)于b=d=c;
	p1 = &c;	//p1指向c的地址
	cout << endl <<"修改后:" << endl<<endl;
	cout << "a:" << a << endl << "a的地址:" << &a << endl;
	cout << "b:" << b << endl << "b的地址:" << &b << endl;
	cout << "c:" << c << endl << "c的地址:" << &c << endl;
	cout << "p1:" << p1 << endl << "p1所指對(duì)象:" << *p1 << endl;
	cout << "d:" << d << endl << "d的地址:" << &d << endl;
	system("pause");
	return 0;
}

從圖中我們可以看出:

d=c并不改變d的地址,且d與b地址相同,
所以引用不能重新綁定并非意味不能 重新賦值,重新賦值只代表引用初始化時(shí)所綁定對(duì)象重新賦值

而指針p1則在指向a的地址后可重新指向c的地址,p1所指對(duì)象也隨之改變。

2.定義時(shí)等號(hào)左右的不同含義

例如

int i=4;
int *p=&i;

左側(cè)的*可看做與int一起組成的復(fù)合類型 int *,代表指向?qū)崝?shù)類型的指針
而右側(cè)的&則為取地址符,p指向i的地址。

除了在定義語(yǔ)句中,一般情況下

int a = 5, b = 10;
int *p;
p = &a;
p = &b;		//p指向b(取b的地址)
*p = 2;		//*p相對(duì)于b,即b=2

3.復(fù)合類型的判斷

注意:只有對(duì)指針的引用,沒有指向引用的指針?。ㄒ?yàn)橐帽旧聿皇菍?duì)象)

一句話原則:從右向左讀,越靠近變量的符號(hào)越說(shuō)明其本質(zhì)
eg:int *&r=p;
&說(shuō)明r的類型是引用,*說(shuō)明 這個(gè)引用 是對(duì)指針的引用。

到此這篇關(guān)于C++之&與*符號(hào)用法案例詳解的文章就介紹到這了,更多相關(guān)C++之&與*符號(hào)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

阜城县| 尤溪县| 汉中市| 嘉义市| 渝中区| 股票| 石阡县| 台东县| 常德市| 定安县| 高邮市| 昌邑市| 南召县| 葵青区| 延寿县| 汪清县| 江都市| 嘉善县| 太原市| 玉田县| 开平市| 太和县| 中西区| 雷山县| 潼南县| 仙居县| 乌兰浩特市| 东平县| 金坛市| 西丰县| 正阳县| 定远县| 贵州省| 个旧市| 武城县| 逊克县| 南昌县| 东丰县| 两当县| 天祝| 永年县|