亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

绥芬河市| 扶绥县| 鄂伦春自治旗| 沂南县| 泽库县| 富裕县| 永修县| 红安县| 南乐县| 威远县| 博白县| 灵宝市| 汉沽区| 西峡县| 勐海县| 东宁县| 兴业县| 佛学| 万盛区| 沙田区| 博兴县| 田林县| 沁源县| 郑州市| 焦作市| 色达县| 南澳县| 富民县| 永川市| 宝兴县| 文化| 泸定县| 老河口市| 姜堰市| 新乐市| 巴青县| 徐州市| 托克逊县| 大关县| 黄骅市| 元谋县|