MQL5中的OOP问题 - 页 85 1...787980818283848586878889909192...96 新评论 Pavel Verveyko 2020.06.16 19:23 #841 这不是我第一次发现自己在想,在MQL中,只有在绝对必要的时候才使用OOP,而且只在代码的某个部分使用。 Vladimir Simakov 2020.06.16 19:27 #842 Pavel Verveyko: 这不是我第一次发现自己在想,在MQL中,只有在迫切需要的情况下,才会使用OOP,而且只在特定的代码部分。 到底是谁给了你这样一个愚蠢的想法?如果你不喜欢猫,那么你根本就不能烹饪它们))))。 Igor Makanu 2020.06.23 05:15 #843 我在某个地方读到过,论坛上也出现了这样一个结构的例子 delete &this; 谁能用这个做一个简单的例子? 我对这个delete &这个delete的内容感兴趣。 Vladimir Simakov 2020.06.23 05:23 #844 Igor Makanu:我在某个地方读到过,论坛上也出现了这样一个结构的例子谁能用这个做一个简单的例子?我对这个delete & this deletes的内容感兴趣。 它自己删除了)))。 Igor Makanu 2020.06.23 07:26 #845 Vladimir Simakov:它自己会删除))) 有道理 但我猜想,整个意义在于将它与静态方法 一起使用 需要测试它,真的不知道如何测试,这就是为什么我问 UPD: 昨天在网上搜索了这个话题,很多人提到了私有析构器,也需要思考它能做什么? Sergey Dzyublik 2020.06.23 10:12 #846 Igor Makanu:1)但我怀疑 "删除&this; "的全部意义。- 与静态方法 一起使用 2) 昨天在网上搜索了这个话题,很多人提到了私有析构器,也需要思考它能提供什么? 1)从静态方法中,禁止对其进行访问。 哪里有 "删除&this;"?- https://stackoverflow.com/questions/447379/what-is-the-use-of-delete-this 2) 私有的析构器不允许在堆栈中创建对象,但仍然可以通过new操作符创建对象,这次是在堆中。 class A{ ~A(){printf(__FUNCSIG__);} public: void Delete(){ delete &this; } }; void OnStart() { A* a_ptr = new A(); a_ptr.Delete(); } 这里是删除&this的另一种用法。 Dmitry Fedoseev 2020.06.23 10:17 #847 Sergey Dzyublik:1)从静态方法中,禁止对其进行访问。"删除&this; "在哪里?- https://stackoverflow.com/questions/447379/what-is-the-use-of-delete-this2)一个私有的析构器禁止在堆栈中创建一个对象,但仍然可以通过new操作符创建一个对象,这次是在堆中。这里是删除&this的另一种用法。 你总是可以用一些东西做一些事情。但这有什么意义呢? 你应该发明一个名字,宣布它是一种设计模式...就这样了。写一大堆代码而不是仅仅 "删除什么",这太酷了。 Dmitry Fedoseev 2020.06.23 10:26 #848 一个私人的破坏者保护你的发展,使其不被放纵。毕竟,你只能以一种成熟的方式对它们使用OOP--使用new和delete。顺便问一下,你为 "图案 "想好名字了吗? TheXpert 2020.06.23 11:54 #849 Dmitry Fedoseev: 你真的有一个非常合适的绰号 )) Georgiy Merts 2020.06.23 12:48 #850 Igor Makanu:我在某个地方读到过,论坛上也出现了这样一个结构的例子谁能用这个做一个简单的例子?我对这个delete & this deletes的内容感兴趣。 这是一个指向当前对象的指针。 通常情况下,delete this构造用于new创建的对象,但删除的责任在对象本身。在这种情况下,当对象决定不再需要它时,它就会调用 去初始化函数,在该函数 中它会像这样删除自己。 在我看来,这是一种极其危险的做法,只有在智能点的情况下才可以接受,因为智能点会自己计算对对象的引用,然后,当引用的数量为零时,它们可以自己删除。但在我看来,即使在这种情况下,也存在着难以发现的内存泄漏错误的空间。 在我看来,删除的责任应该由创建它的同一对象承担。它可以在创建时使用对象工厂模式,但删除仍应是创建新对象的对象的责任。 1...787980818283848586878889909192...96 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这不是我第一次发现自己在想,在MQL中,只有在迫切需要的情况下,才会使用OOP,而且只在特定的代码部分。
我在某个地方读到过,论坛上也出现了这样一个结构的例子
谁能用这个做一个简单的例子?
我对这个delete &这个delete的内容感兴趣。
我在某个地方读到过,论坛上也出现了这样一个结构的例子
谁能用这个做一个简单的例子?
我对这个delete & this deletes的内容感兴趣。
它自己删除了)))。
它自己会删除)))
有道理
但我猜想,整个意义在于将它与静态方法 一起使用
需要测试它,真的不知道如何测试,这就是为什么我问
UPD: 昨天在网上搜索了这个话题,很多人提到了私有析构器,也需要思考它能做什么?
1)但我怀疑 "删除&this; "的全部意义。- 与静态方法 一起使用
2) 昨天在网上搜索了这个话题,很多人提到了私有析构器,也需要思考它能提供什么?
1)从静态方法中,禁止对其进行访问。
哪里有 "删除&this;"?- https://stackoverflow.com/questions/447379/what-is-the-use-of-delete-this
2) 私有的析构器不允许在堆栈中创建对象,但仍然可以通过new操作符创建对象,这次是在堆中。
这里是删除&this的另一种用法。
1)从静态方法中,禁止对其进行访问。
"删除&this; "在哪里?- https://stackoverflow.com/questions/447379/what-is-the-use-of-delete-this
2)一个私有的析构器禁止在堆栈中创建一个对象,但仍然可以通过new操作符创建一个对象,这次是在堆中。
这里是删除&this的另一种用法。
你总是可以用一些东西做一些事情。但这有什么意义呢?
你应该发明一个名字,宣布它是一种设计模式...就这样了。写一大堆代码而不是仅仅 "删除什么",这太酷了。
我在某个地方读到过,论坛上也出现了这样一个结构的例子
谁能用这个做一个简单的例子?
我对这个delete & this deletes的内容感兴趣。
这是一个指向当前对象的指针。
通常情况下,delete this构造用于new创建的对象,但删除的责任在对象本身。在这种情况下,当对象决定不再需要它时,它就会调用 去初始化函数,在该函数 中它会像这样删除自己。
在我看来,这是一种极其危险的做法,只有在智能点的情况下才可以接受,因为智能点会自己计算对对象的引用,然后,当引用的数量为零时,它们可以自己删除。但在我看来,即使在这种情况下,也存在着难以发现的内存泄漏错误的空间。
在我看来,删除的责任应该由创建它的同一对象承担。它可以在创建时使用对象工厂模式,但删除仍应是创建新对象的对象的责任。