定义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的类设计中,函数参数中的全部对象都必须经过引用传递,在数据类型中的目标指针也要涉及到引用的问题,因此提早作一个铺垫。