定義c++
簡單的說就是給一個變量或者對象取一個別名(引用和被引用的共享存儲單元,要用修飾符&)。函數
引用的用法設計
在MQL4中經過調試只接受引用做爲函數參數的用法,在函數參數傳遞過程當中,有兩種傳遞方式。指針
實參和形參都要分配內存空間,在傳遞過程當中實參拷貝一份數據到函數形參中進行運算。調試
int a(int c) //定義函數a,int c是形式參數 { int e; e=c++; return(e); }
主函數:code
void OnStart() { int b=5; //實際參數 Print("函數接受實參值傳遞給形參:",a(b)); Print("實參是否變更:",b); }
做爲值傳遞的過程當中,函數獲取的參數值只是實參拷貝的一個副本,實參自己不參加運算,b依舊是5,沒有發生改變,函數獲取實參進行自加後結果是6。對象
在這種狀況下形參被當作是實參的別名,形參就是實參,二者公用內存空間,這大大下降了內存使用,並且使用的是變量名,總體更高效,更直觀。內存
int a(int &c) //定義函數a,int &c是形式參數 { int e; e=c++; return(e); }
主函數:變量
void OnStart() { int b=5; //實際參數 Print("函數接受實參值傳遞給形參:",a(b)); Print("實參是否變更:",b); }
傳遞引用的過程當中,改變形參其實就是改變實參,函數形參獲取實參進行自加後結果是6,實參5也變成了6,達到了雙向傳遞的功能。數據類型
引用能夠大大下降內存使用,速度更快,並且在MQL4的類設計中,函數參數中的全部對象都必須經過引用傳遞,在數據類型中的目標指針也要涉及到引用的問題,因此提早作一個鋪墊。