91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++怎么改變參數值

發布時間:2023-04-04 17:14:47 來源:億速云 閱讀:116 作者:iii 欄目:開發技術

這篇文章主要介紹了C++怎么改變參數值的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇C++怎么改變參數值文章都會有所收獲,下面我們一起來看看吧。

背景說明 

1、通常我們將參數(包括普通變量指針變量引用變量)傳遞給函數使用,有的時候希望在函數中改變傳入這個參數的值,有的時候不希望改變傳入參數的值;

2、函數的參數傳入通常有三種方式:按值傳遞、按地址傳遞、按引用傳遞;

  3.1 按值傳遞:該方式不改變傳入參數的值;

  3.3 按地址傳遞:該方式改變傳入參數的值;

  3.3 按引用傳遞:該方式改變傳入參數的值;

示例代碼如下

為便于理解,下面的示例程序將三種方式都進行了演示:

C++怎么改變參數值

具體的原理說明參見下圖:

C++怎么改變參數值

說明1:如上圖中所示,程序開始首先執行main函數,當執行到fun1函數時,在棧中開辟一個新的棧幀(圖中藍色fun1塊),在fun1塊中開辟了一塊空間存放p,p的值復制了main中p的值,由于是在棧上開辟的空間,當fun1函數執行完成后這塊空間被釋放,由于p只是一個臨時變量且不指向任何其他的內存位置,故不會改變main函數中的p。

說明2:當程序執行到fun2函數時,會在棧中又開辟一塊棧幀(圖中紫色fun2塊),在fun2塊中開辟了一塊空間存放p,p的值是main中p的地址,因此*p指向main中的參數p,在fun2函數中對*p的更改本質上都是在更改main中p的值,當fun2函數執行完畢后,雖然p被釋放了,但main函數中的p已經被更改過了。

說明3:按引用傳遞本質跟指針相同,不再過多解釋。

關于“C++怎么改變參數值”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“C++怎么改變參數值”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

兰考县| 安义县| 汝州市| 昆山市| 溧阳市| 民县| 集贤县| 彭水| 舞钢市| 北辰区| 即墨市| 玛纳斯县| 勐海县| 鹤岗市| 资中县| 肥乡县| 普宁市| 沙雅县| 辽宁省| 吉水县| 永定县| 固始县| 大英县| 富宁县| 高州市| 长泰县| 黎川县| 手游| 乌鲁木齐市| 射洪县| 扎兰屯市| 阳城县| 通江县| 赣榆县| 荥经县| 通辽市| 怀仁县| 永嘉县| 鹤峰县| 久治县| 教育|