欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++之&與*符號用法案例詳解

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

C++ 之 & 和 *

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

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

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

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

引用://www.dbjr.com.cn/article/221789.htm

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

#include<iostream>
#include<string>
using namespace std;
int main()
{
	int a = 5, b = 10, c = 15;
	int *p1;	//指針可以不初始化
	int &d = b;	//引用必須初始化(相當于給一個人起外號要針對那個人)
	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所指對象:" << *p1 << endl;
	cout << "d:" << d << endl << "d的地址:" << &d << endl;
	d = c;		//相當于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所指對象:" << *p1 << endl;
	cout << "d:" << d << endl << "d的地址:" << &d << endl;
	system("pause");
	return 0;
}

從圖中我們可以看出:

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

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

2.定義時等號左右的不同含義

例如

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

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

除了在定義語句中,一般情況下

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

3.復合類型的判斷

注意:只有對指針的引用,沒有指向引用的指針?。ㄒ驗橐帽旧聿皇菍ο螅?/strong>

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

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

相關文章

  • c++中的前向聲明用法解讀

    c++中的前向聲明用法解讀

    這篇文章主要介紹了c++中的前向聲明用法解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 一篇文章徹底弄懂C++虛函數(shù)的實現(xiàn)機制

    一篇文章徹底弄懂C++虛函數(shù)的實現(xiàn)機制

    C++中的虛函數(shù)的作用主要是實現(xiàn)了多態(tài)的機制,基類定義虛函數(shù),子類可以重寫該函數(shù),在派生類中對基類定義的虛函數(shù)進行重寫時,需要在派生類中聲明該方法為虛方法,這篇文章主要給大家介紹了關于如何通過一篇文章徹底弄懂C++虛函數(shù)的實現(xiàn)機制,需要的朋友可以參考下
    2021-06-06
  • Cocos2dx實現(xiàn)數(shù)字跳動效果

    Cocos2dx實現(xiàn)數(shù)字跳動效果

    這篇文章主要為大家詳細介紹了Cocos2dx實現(xiàn)數(shù)字跳動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 一篇文章帶你了解C++中的顯示轉(zhuǎn)換

    一篇文章帶你了解C++中的顯示轉(zhuǎn)換

    這篇文章主要介紹了C++11顯示類型轉(zhuǎn)換的優(yōu)點,幫助大家更好的理解和學習c++,感興趣的朋友可以了解下,希望能給你帶來幫助
    2021-08-08
  • C++內(nèi)存模型和名稱空間詳解

    C++內(nèi)存模型和名稱空間詳解

    這篇文章主要給大家介紹了關于C/C++中的內(nèi)存模型和名稱空間詳解,文中通過示例代碼介紹的非常詳細,對大家學習或者使用c/c++具有一定的參考學習價值,需要的朋友們下面隨著小編來一起看看吧
    2021-09-09
  • C++?std::array實現(xiàn)編譯器排序

    C++?std::array實現(xiàn)編譯器排序

    這篇文章主要介紹了C++?std::array實現(xiàn)編譯器排序,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • C++實現(xiàn)圖的鄰接矩陣存儲和廣度、深度優(yōu)先遍歷實例分析

    C++實現(xiàn)圖的鄰接矩陣存儲和廣度、深度優(yōu)先遍歷實例分析

    這篇文章主要介紹了C++實現(xiàn)圖的鄰接矩陣存儲和廣度、深度優(yōu)先遍歷,實例分析了C++實現(xiàn)圖的遍歷技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 一篇文章詳解Qt中如何訪問數(shù)據(jù)庫

    一篇文章詳解Qt中如何訪問數(shù)據(jù)庫

    Qt是一個廣泛使用的跨平臺應用程序框架,它提供了許多功能,包括數(shù)據(jù)庫訪問,這篇文章主要給大家介紹了關于Qt中如何訪問數(shù)據(jù)庫的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • 解析C++引用

    解析C++引用

    引用是C++引入的新語言特性,是C++常用的一個重要內(nèi)容之一。在工作中發(fā)現(xiàn),許多人使用它僅僅是想當然,在某些微妙的場合,很容易出錯,究其原由,大多因為沒有搞清本源。在本篇中將對引用進行詳細討論,希望對大家更好地理解和使用引用起到拋磚引玉的作用
    2021-06-06
  • 牛頓迭代法求多項式在1.5附近的值2*x的3次冪--4x平方+3*x-6=0的實現(xiàn)代碼

    牛頓迭代法求多項式在1.5附近的值2*x的3次冪--4x平方+3*x-6=0的實現(xiàn)代碼

    以下代碼是使用了牛頓迭代法求多項式在1.5附近的值 2*x的3次冪 - 4x的平方 + 3*x -6=0的實例。需要的朋友參考下吧
    2013-05-05

最新評論