编程语言中,对象创建的过程是必不可少的一部分。MQL4语言提供了创建对象的操作符new
,本文将详细介绍new
操作符的使用及其相关注意事项。
一、new操作符的功能和使用
在MQL4中,new
操作符会自动创建一个相应大小的对象,调用对象的构造函数,并返回创建的对象的描述符。如果创建失败,操作符会返回一个空描述符,它可以与NULL常量进行比较。
new
操作符只能应用于类对象,不能应用于结构体。同时,new
操作符不应用于创建对象数组,要创建对象数组,应使用ArrayResize()
函数。
以下是new
操作符在MQL4中的一般用法:
ClassName objectName = new ClassName();
在这里,ClassName是你想要创建的类的名称,而objectName是你为新创建的对象所指定的名称。
二、示例
- 创建一个名为
myObject
的MyClass
对象:
MyClass myObject = new MyClass();
- 创建一个图形对象的示例:
//定义七种不同的图形类:Shape1到Shape7
Shape1 shape1;
Shape2 shape2;
//...
Shape7 shape7;
//随机选择一个图形创建
int shapeType = MathRand() % 7;
switch(shapeType) {
case 0: shape1 = new Shape1(); break;
case 1: shape2 = new Shape2(); break;
//...
case 6: shape7 = new Shape7(); break;
}
值得注意的是,通过new
创建的对象描述符并不是内存地址的指针。
三、删除对象
使用new
操作符创建的对象必须显式地使用delete
操作符进行删除,例如:
delete myObject;
在这里,myObject
是你之前用new
操作符创建的对象。
总结,new
操作符在MQL4编程中起着至关重要的作用,理解并掌握它的使用可以使我们在编写程序时更加得心应手。