• 新添加量子混沌系统板块,欢迎大家访问!---“量子混沌系统”
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏我们吧

MQL语言中如何判断对象是否已经销毁,对象被删除销毁后出错解决方法?

量化编程 Qchaos 2年前 (2023-07-15) 9122 复制链接

MQL语言中如何判断对象是否已经销毁,以及在对象被删除后出现错误时的解决方法?

classA *obj = new classA();
delete obj;

if (obj != NULL) {
    Print("obj对象已经销毁删除,但 obj!=NULL条件依然成立");
    obj.a();
}

以上代码存在问题,我们需要使用MQL语言内部的对象指针检查函数CheckPointer来解决。修改后的代码如下:

if (CheckPointer(obj) != POINTER_INVALID) {
    Print("obj对象已经销毁删除,但 obj !=NULL条件依然成立!");
    obj.a();
}

在这里,我们通过CheckPointer函数来判断对象是否已经销毁。如果CheckPointer函数返回的结果不等于POINTER_INVALID,说明对象仍然存在,我们可以继续使用它。这样就能够避免在对象被删除后出现错误。


量子混沌 , 版权所有丨如未注明 , 均为原创
转载请注明原文链接:MQL语言中如何判断对象是否已经销毁,对象被删除销毁后出错解决方法?