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

溫馨提示×

溫馨提示×

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

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

如何分析C++函數參數引用問題

發布時間:2021-10-27 18:11:26 來源:億速云 閱讀:140 作者:柒染 欄目:編程語言

這期內容當中小編將會給大家帶來有關如何分析C++函數參數引用問題,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

C++函數參數中,使用了引用作形參,調用時所對應的實參應該是一個數組名,這里的引用是給數組起個別名。在C++函數參數中對數組b的操作,就相當于b所引用數組a的操作。在C++中,常用這種調用方式。 

代碼如下:

#include <iostream.h>    typedef int array[8];    int a[8] = {1, 3, 5, 7, 9, 11, 13};    void fun(array &b, int n)    {    for(int i=0; i<n-1; i++)    b[7]+=b[i];    }     void main()    {    int m=8;    fun(a, m);    cout<<a[7]<<endl;    }

當一個函數帶有多個參數時,C++語言沒有規定在函數調用時實參的求值順序。而編譯器根據對代碼進行優化的需要自行規定對實參的求值順序。有的編譯器規定自左至右,有的編譯器規定自右至左,這種對求值順序的不同規定,對一般參數來講沒有影響。

但是,如果實參表達式中帶有副作用的運算符時,就有可能產生由于求值順序不同而造成了二義性。例如:int z = add_int(++x, x+y);,這樣,在不同的編譯器就有可能生產不同的結果。 

設置C++函數參數的默認值  在C++語言中,允許在函數的說明或定義時給一個或多個參數指定默認值。但是,要求在一個指定了默認值的參數的右邊,不能出現沒有指定默認值的參數。例如: 

在上述對函數add_int()的說明中,對該函數的最右邊的一個參數指定了默認值。  在函數調用時,編譯器按從左至右的順序將實參與形參結合,當實參的數目不足時,編譯器將按同樣的順序用說明中或定義中的默認值來補足所缺少的實參。例如,如有下列的函數調用表達式。 

在給某個C++函數參數指定默認值是,不僅可以是一個數值,而且還可以是任意復雜的表達式。  使用數組作函數參數數組作函數參數可以分為如下三種情況:(這三種情況的結果相同,只是所采用的調用機制不同) 

1. 形參和實參都用數組 

調用函數的實參用數組名,被調用函數的形參用數組,這種調用的機制是形參和實參共用內存中的同一個數組。因此,在被調用函數中改變了數組中某個無素的值,對調用函數該數組的該元素值也被改變,因為它們是共用同一個數組。 

2. 形參和實參都用對應數組的指針 

在C++中,數組名被規定為是一個指針,該指針便是指向該數組的首元素的指針,國為它的值是該數組首元素的地址值,因此,數組名是一個常量指針。  實際中,形參和實參一個用指針,另一個用數組也是可以的。在使用指針時可以用數組名,也可以用另外定義的指向數組的指針。 

3. 實參用數組名形參用引用 

如何對數組類型使用引用方式,這里先做如下說明:先用類型定義語句定義一個int型的數組類型, 然后,使用array來定義數組和引用。 

上述就是小編為大家分享的如何分析C++函數參數引用問題了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

c++
AI

衡阳县| 崇仁县| 巴青县| 宝坻区| 西藏| 威海市| 蚌埠市| 陇川县| 嘉祥县| 孝义市| 绥德县| 葫芦岛市| 宁强县| 岳池县| 东山县| 华坪县| 偏关县| 平潭县| 封丘县| 蕲春县| 且末县| 鄂温| 宝应县| 海伦市| 拜泉县| 新河县| 阳城县| 班戈县| 陕西省| 新密市| 长子县| 德江县| 临武县| 杂多县| 社旗县| 望奎县| 曲水县| 鞍山市| 若尔盖县| 虞城县| 定结县|