日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python指针引用的区别_C++基础:指针和引用的区别

發布時間:2023/12/19 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python指针引用的区别_C++基础:指针和引用的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C++基礎:指針和引用的區別

*例

int a;

int &b = a;

其中b是a的引用,b引用了a,a被b引用。b 相當于 a 的別名,對 b 的任何操作就是對a的操作。所以b既不是a的拷貝,也不是指向a的指針,其實b就是a它自己。引用的規則:引用被創建的同時必須被初始化(指針則可以在任何時候被初始化)。

不能有 NULL 引用,引用必須與合法的存儲單元關聯(指針則可以是 NULL)。

一旦引用被初始化,就不能改變引用的關系(指針則可以隨時改變所指的對象)。

引用的主要功能是傳遞函數的參數和返回值。

C++ 語言中,函數的參數和返回值的傳遞方式有三種:值傳遞、指針傳遞和引用傳遞。成員函數的值傳遞

void FuncV(int x)

{

x = x + 10;

}

...

int n = 0;

Func1(n);

cout << "n = " << n << endl; // n = 0

由于 FuncV 函數體內的 x 是外部變量 n 的一份拷貝,改變 x 的值不會影響 n, 所以 n 的值仍然是 0。成員函數的指針傳遞

void FuncP(int *x)

{

(* x) = (* x) + 10;

}

...

int n = 0;

Func2(&n);

cout << "n = " << n << endl; // n = 10

由于 FuncP 函數體內的 x 是指向外部變量 n 的指針,改變該指針的內容將導致 n 的值改變,所以 n 的值成為 10。成員函數的引用傳遞

void FuncR(int &x)

{

x = x + 10;

}

...

int n = 0;

Func3(n);

cout << "n = " << n << endl; // n = 10

由于 FuncR 函數體內的 x 是外部變量 n 的引用,x 和 n 是同一個東西,改變 x 等于改變 n,所以 n 的值成為 10。

總結

對比引用傳遞、值傳遞和指針傳遞的示例可知,引用傳遞和指針傳遞的性質基本一樣,而引用的傳遞調用方式更像"值傳遞"。

引用傳遞與指針傳遞的功能相似。

但指針能夠毫無約束地操作內存中的任何東西,雖然指針功能強大,但是非常危險。

在程序中如果只需要借用一下程序的別名盡量用引用傳遞。

若你對人工智能(CV/NLP)、C++/python編程、互聯網就業及發展有興趣,歡迎點贊關注和收藏。謝謝鼓勵!!!

C++相關知識:Anxjing.AI:C++ this_thread::sleep_for?zhuanlan.zhihu.com

Anxjing.AI:C++ Lambda表達式?zhuanlan.zhihu.comAnxjing.AI:C++并發_condition_variable?zhuanlan.zhihu.comAnxjing.AI:生產者-消費者模型?zhuanlan.zhihu.comAnxjing.AI:C++預處理指令?zhuanlan.zhihu.comAnxjing.AI:C++工具:Cmake?zhuanlan.zhihu.comAnxjing.AI:SSH 學習?zhuanlan.zhihu.comAnxjing.AI:記錄C++階段性學習一?zhuanlan.zhihu.comAnxjing.AI:DesignPatterns C++:單例模式?zhuanlan.zhihu.comAnxjing.AI:C++基礎:map簡析?zhuanlan.zhihu.comAnxjing.AI:C++基礎:memset函數簡析?zhuanlan.zhihu.comAnxjing.AI:C++基礎:break&continue區別?zhuanlan.zhihu.comAnxjing.AI:C++基礎:指針和引用的區別?zhuanlan.zhihu.comAnxjing.AI:C++中::和:, .和->的作用和區別??zhuanlan.zhihu.comAnxjing.AI:string中c_str()的使用方法和特性?zhuanlan.zhihu.comAnxjing.AI:C ++ strcpy()和strncpy()函數?zhuanlan.zhihu.comAnxjing.AI:C++基礎-關鍵字virtual?zhuanlan.zhihu.comAnxjing.AI:C++基礎-函數重載?zhuanlan.zhihu.comAnxjing.AI:C++基礎-static?zhuanlan.zhihu.comAnxjing.AI:C++基礎:判斷文件是否存在的方法?zhuanlan.zhihu.comAnxjing.AI:C++基礎-strstr查找子串?zhuanlan.zhihu.comAnxjing.AI:C++基礎:std::thread多線程?zhuanlan.zhihu.com

總結

以上是生活随笔為你收集整理的python指针引用的区别_C++基础:指针和引用的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。