您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何解析有關C++參數問題,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
所謂C++參數的說明,其實是對指定應用而言,它可以是賦予的常數值,在泛指時,它可以是一種變量,用來控制隨其變化而變化的其他的量,換句話說,其實參數就是給我們參考的。
該程序中,在fun()函數中,使用了引用作形參,調用時所對應的實參應該是一個數組名,這里的引用是給數組起個別名。在fun()函數中對數組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++語言沒有規定在函數調用時C++參數的求值順序。而編譯器根據對代碼進行優化的需要自行規定對實參的求值順序。有的編譯器規定自左至右,有的編譯器規定自右至左,這種對求值順序的不同規定.
對一般參數來講沒有影響。但是,如果實參表達式中帶有副作用的運算符時,就有可能產生由于求值順序不同而造成了二義性。例如:int z = add_int(++x, x+y);,這樣,在不同的編譯器就有可能生產不同的結果。
設置參數的默認值
在C++語言中,允許在函數的說明或定義時給一個或多個參數指定默認值。但是,要求在一個指定了默認值的參數的右邊,不能出現沒有指定默認值的參數,在上述對函數add_int()的說明中,對該函數的最右邊的一個參數指定了默認值。
在函數調用時,編譯器按從左至右的順序將實參與形參結合,當實參的數目不足時,編譯器將按同樣的順序用說明中或定義中的默認值來補足所缺少的實參。例如,如有下列的函數調用表達式:
在給某個參數指定默認值是,不僅可以是一個數值,而且還可以是任意復雜的表達式。使用數組作函數參數數組作函數參數可以分為如下三種情況:(這三種情況的結果相同,只是所采用的調用機制不同)
VC++開發環境的模式說明
深度說明C++開源程序歷史
如何正確學習C++應用程序
詳解C++程序設計構成
對C++的設計原則介紹
1. 形參和實參都用數組
調用函數的實參用數組名,被調用函數的形參用數組,這種調用的機制是形參和實參共用內存中的同一個數組。因此,在被調用函數中改變了數組中某個無素的值,對調用函數該數組的該元素值也被改變,因為它們是共用同一個數組。
2. 形參和實參都用對應數組的指針
在C++參數中,數組名被規定為是一個指針,該指針便是指向該數組的首元素的指針,國為它的值是該數組首元素的地址值,因此,數組名是一個常量指針。 實際中,形參和實參一個用指針,另一個用數組也是可以的。在使用指針時可以用數組名,也可以用另外定義的指向數組的指針。
3. 實參用數組名形參用引用
如何對數組類型使用引用方式,這里先做如下說明:先用類型定義語句定義一個int型的數組類型,如下所示: 然后,使用array來定義數組和引用。
上述內容就是如何解析有關C++參數問題,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。