巴解组织。应用问题 - 页 18

 
TheXpert:
似乎无法编译。
它的作用:/ 试试吧。当然,我已经对这个设计进行了示意性的描述,但我的类似的设计编译起来很好。
 
Yedelkin:

搜索不起作用。 我可能在重复自己的观点,但问题是:一个类对象能不能自我毁灭?也就是说,首先我们使用保留字this在类对象中得到一个对自身的引用,然后我们对相应的对象描述符(指针)应用删除操作

类似的情况。

还是 "外部 "而不是 "内部 "删除一个对象更好/更可取?

我也想知道这个问题。我得出了以下结论:对象可以删除自己(不痛不痒),但必须记住,对象的数据(变量)之后就不存在了,所以不能调用它们。但我认为这是一种肮脏的方式,从外面看更好。而如果该对象自己删除了,就只能在新的中创建。
 
220Volt:
我也想知道这个问题。结论如下:对象可以删除自己(不痛不痒),但我们必须记住,之后对象的数据(变量)将不存在,所以不能调用它们。但我认为这是一个混乱的方式,最好在外面。
是的,我已经用了一年了 :)如果不再需要该物品,就非常方便。 我不明白为什么你认为这是一种 "肮脏 "的方式?
 
Yedelkin:

也许可以从阅读你打算使用的语言的文档开始,看看用于该编程语言的定义?

恭敬地说。

你的思考方向是正确的。

 

这段代码不能编译

class CCC
{
   public:
      datetime start;                      //Сохраняем время создания объекта класса ССС
      CCC(void) : start(TimeCurrent()) {};  //Функция TimeCurrent() указана без символа "точка с запятой"
     ~CCC(void)                      {}; 
}
  
void OnTick()
{
   CCC ccc;
}

这是因为第7行的;缺少,而第6行和第5行不需要它。

 
kazakov.v:

你的思考方向是正确的。

我猜想,你并不经常阅读语言文档 :)
 
TheXpert:

这段代码不能编译

这是因为第7行的;缺少,而第6行和第5行不需要它。

也就是说,问题将从创建对象 时开始?好的,谢谢,我现在就去检查。
Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
  • www.mql5.com
Основы языка / Операторы / Оператор создания объекта new - Документация по MQL5
 
TheXpert:
似乎无法编译。
它将被编译(好吧,我对分号不挑剔;-) )。
 
marketeer:
它可以编译(好吧,我对分号不挑剔;-) )。

所以提问者恰恰有他们的问题。

在一般情况下,这是这样的琐事...

 
TheXpert:

这段代码不能编译

这是因为第7行的;缺少,而第6行和第5行不需要它。

奇怪的是,在我的代码中,即使在你增加了OnTick()的行数之后,一切都能编译。只有在声明CCC类之后,你才需要加上分号。正如你所写的,--你需要在第7行放一个分号。