MQL5中的OOP问题 - 页 6 12345678910111213...96 新评论 Vladimir Simakov 2019.07.04 15:36 #51 Dmitry Fedoseev: 所以,你去那里。 像这样。 甚至不只是可以,而是更好,因为你可以这样称呼它。 如果你通过引用传递一个指针,你需要另一个变量来存放指针。 *** 而如果你必须向一个函数传递一个指针,以便在该函数中创建一个对象,这就是它的工作原理。 这基本上是你想知道的关于OOP的所有内容,但却不敢问)) 哼哼 Vladimir Simakov 2019.07.04 15:41 #52 void z(CObj* & o){ o = new CObj(); } 就这样想吧,这一切都很有效。 因此,如果你有任何关于OOP的问题,请随时联系))))。 Vladimir Simakov 2019.07.04 15:43 #53 一个经典的空指针脱引法变成了。 Roman 2019.07.04 22:53 #54 Vladimir Simakov: 因此,如果你有任何关于OOP的问题,请随时))))。 请解释使用new操作符创建动态对象的含义。 当一个对象被自动创建时,在堆栈中创建一个类对象,在执行时间 上比动态对象更快。 当一个对象被动态创建时,类对象在内存中(在堆中)被创建,操作系统的内存管理器被激活,这个过程会比较慢。 以下是问题。 如果自动创建更快,那么为什么使用动态对象更好呢? 明确控制内存分配? 消除了可能出现的堆栈溢出? 而不是意外地失去一个物体? 因为如果堆栈溢出,该对象将被自动删除? Artyom Trishkin 2019.07.05 00:25 #55 Roman: 你不觉得跟上这个话题很累吗? Roman 2019.07.05 01:31 #56 Artyom Trishkin: 你不觉得跟上这个话题很累吗? 调整问题,使之尽可能的准确。 这有什么问题吗?有一个编辑按钮,所以你可以用它来说明问题。 Vladimir Simakov 2019.07.05 03:14 #57 Roman: 请解释用new操作符创建动态对象的含义。 当一个对象被自动创建时,类对象被创建在堆栈中,就执行时间 而言,它比动态对象更快。 当一个对象被动态创建时,类对象在内存中(在堆中)被创建,操作系统的内存管理器被激活,这个过程会比较慢。 以下是问题。 如果自动创建更快,那么为什么使用动态对象更好呢? 明确控制内存分配? 消除了可能出现的堆栈溢出? 而不是意外地失去一个物体? 因为如果堆栈溢出,该对象将被自动删除? 你为什么不读读静态内存、堆栈和堆的知识? Andrey Barinov 2019.07.05 04:24 #58 Roman: 请解释用new操作符创建动态对象的含义。 如何使用的一个明显的例子是当对象的类型事先不知道时。 以下是帮助中的一个很好的例子:https://www.mql5.com/ru/docs/basis/operators/newoperator Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new www.mql5.com //| Создание фигуры | Dmitry Fedoseev 2019.07.05 05:30 #59 Vladimir Simakov: 哼哼 是的!除了所有的东西都能编译,而且由于某种原因能工作。 你那里有什么样的奇迹......。没有人知道,但顺便说一句,在昨天的代码样本据说是从这个主题的其他地方取来的,但实际上是在其他地方丢失的,这并不令人惊讶。 *** 哦,如果你没有忘记我们最初讨论的内容--关于传递指针到一个函数或方法(以及关于你声称的一些内存泄漏据说发生在那里),这正是&不需要的地方。 Dmitry Fedoseev 2019.07.05 05:35 #60 Roman: 请解释通过new操作符创建动态对象的目的。 当一个对象被自动创建时,类对象在堆栈中被创建,在执行时间 上比动态对象快。 当动态创建一个对象时,一个类对象是在内存中(在堆中)创建的,因此涉及到操作系统的内存管理器,这个过程会比较慢。 以下是问题。 如果自动创建更快,那么为什么使用动态对象更好呢? 明确控制内存分配? 消除了可能出现的堆栈溢出? 而不是意外地失去一个物体? 因为如果堆栈溢出,该对象将被自动删除? 如果事先知道对象的数量,并且在程序运行期间是恒定的,那么就不需要新建。在所有其他情况下--新的。 12345678910111213...96 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
所以,你去那里。
像这样。
甚至不只是可以,而是更好,因为你可以这样称呼它。
如果你通过引用传递一个指针,你需要另一个变量来存放指针。
***
而如果你必须向一个函数传递一个指针,以便在该函数中创建一个对象,这就是它的工作原理。
这基本上是你想知道的关于OOP的所有内容,但却不敢问))哼哼
就这样想吧,这一切都很有效。
因此,如果你有任何关于OOP的问题,请随时联系))))。
因此,如果你有任何关于OOP的问题,请随时))))。
请解释使用new操作符创建动态对象的含义。
当一个对象被自动创建时,在堆栈中创建一个类对象,在执行时间 上比动态对象更快。
当一个对象被动态创建时,类对象在内存中(在堆中)被创建,操作系统的内存管理器被激活,这个过程会比较慢。
以下是问题。
如果自动创建更快,那么为什么使用动态对象更好呢?
明确控制内存分配?
消除了可能出现的堆栈溢出?
而不是意外地失去一个物体?
因为如果堆栈溢出,该对象将被自动删除?
你不觉得跟上这个话题很累吗?
你不觉得跟上这个话题很累吗?
调整问题,使之尽可能的准确。
这有什么问题吗?有一个编辑按钮,所以你可以用它来说明问题。
请解释用new操作符创建动态对象的含义。
当一个对象被自动创建时,类对象被创建在堆栈中,就执行时间 而言,它比动态对象更快。
当一个对象被动态创建时,类对象在内存中(在堆中)被创建,操作系统的内存管理器被激活,这个过程会比较慢。
以下是问题。
如果自动创建更快,那么为什么使用动态对象更好呢?
明确控制内存分配?
消除了可能出现的堆栈溢出?
而不是意外地失去一个物体?
因为如果堆栈溢出,该对象将被自动删除?
请解释用new操作符创建动态对象的含义。
如何使用的一个明显的例子是当对象的类型事先不知道时。
以下是帮助中的一个很好的例子:https://www.mql5.com/ru/docs/basis/operators/newoperator
哼哼
是的!除了所有的东西都能编译,而且由于某种原因能工作。
你那里有什么样的奇迹......。没有人知道,但顺便说一句,在昨天的代码样本据说是从这个主题的其他地方取来的,但实际上是在其他地方丢失的,这并不令人惊讶。
***
哦,如果你没有忘记我们最初讨论的内容--关于传递指针到一个函数或方法(以及关于你声称的一些内存泄漏据说发生在那里),这正是&不需要的地方。
请解释通过new操作符创建动态对象的目的。
当一个对象被自动创建时,类对象在堆栈中被创建,在执行时间 上比动态对象快。
当动态创建一个对象时,一个类对象是在内存中(在堆中)创建的,因此涉及到操作系统的内存管理器,这个过程会比较慢。
以下是问题。
如果自动创建更快,那么为什么使用动态对象更好呢?
明确控制内存分配?
消除了可能出现的堆栈溢出?
而不是意外地失去一个物体?
因为如果堆栈溢出,该对象将被自动删除?
如果事先知道对象的数量,并且在程序运行期间是恒定的,那么就不需要新建。在所有其他情况下--新的。