mql5中的OOP、模板和宏,细微之处和用途 - 页 3 12345678910...28 新评论 Alexey Navoykov 2019.01.24 22:00 #21 Алексей Тарабанов:你已经找到了一个创造它的方法。 你对某些事情感到困惑。 Alexey Navoykov 2019.01.24 22:06 #22 Ilya Malev:你试图在初始化阶段使用一个类 的静态字段,而该类至少有一个实例被创建。在我看来,这是一种变态...这就是它的正常工作方式。 封装原则通常意味着这种字段应该是隐藏的,而不是公开的。一个静态字段就是因为这个原因,它不依赖于有类的实例。 但如果你想先创建一个类的实例--好的,创建它,但只是在函数里面。 然后从它那里请求这个字段(直接或通过一个方法)--结果还是一样的。 Алексей Тарабанов 2019.01.24 22:20 #23 Alexey Navoykov: 你对某些事情感到困惑。不,我对任何事情都不感到困惑。 首先是全局级变量,然后是静态变量,最后是代码中出现的局部变量。这个特殊的例子违反了文档中关于不要用函数初始化变量 的建议。对开发者来说,写这样的警告比解释哪里必须和不必须更容易。从你的样品中去除静电,得到你想要的结果。 Alexey Navoykov 2019.01.24 22:25 #24 Алексей Тарабанов:不,我对任何事情都不感到困惑。 首先是全局级变量,然后是静态变量,最后是代码中出现的局部变量。这个特殊的例子违反了文档中关于 不要用函数初始化变量 的建议。对开发者来说,写这样的警告比解释哪里必须和不必须更容易。从你的例子中去掉静态的东西,就可以得到理想的结果。"文件的建议"))我对你感到惊奇。你真的还是不明白,是吗? 语言中存在着一个错误。开发人员自己也在谈论这个问题,并向你解释如何正确地打手鼓,以避免遇到这个错误。我确保一劳永逸地忘记这个错误。 Alexey Viktorov 2019.01.24 22:32 #25 Alexey Navoykov: 如果它是一个常量(全局可见性大多声明常量,如果代码很聪明的话),就没有其他选择。 关于黄色的一切,我有一个问题:为什么? 我已经想出了如何解决问题的办法。这里,以免把你已经做的事情弄得一团糟。 Алексей Тарабанов 2019.01.24 22:35 #26 Alexey Navoykov:"文件建议"))我对你感到惊奇。你真的还没有抓住重点吗? 语言中存在着一个错误。开发人员自己也在谈论这个问题,并向你解释如何正确地打手鼓,以避免遇到这个错误。我确保一劳永逸地忘记这个错误。你不能用一个函数来启动某个东西的价值。即使你真的想这样做。你不明白吗? Ilya Malev 2019.01.24 22:44 #27 Alexey Navoykov:一个静态字段是一个静态的,所以它不依赖于类的实例。 但是如果你想先创建一个类的实例,好的,创建它,但是只在函数里面。 然后从它那里请求这个字段(直接或通过方法)--结果又会是一样的。那么,是程序化编程还是面向对象编程?为什么我们要在初始化之前的阶段执行与类无关的函数,并参考类型化的对象呢。我明白,答案是 "因为我觉得喜欢"。但如果我是一个开发者,我不会急于取消一切,跑去修复这个特殊的行为,因为这是一个相当边缘化的架构,此外,通过创建一个类的实例,问题很容易解决。当然,不是在函数内部。 Alexey Navoykov 2019.01.25 09:12 #28 Alexey Viktorov:永远如此,以免把你已经造成的混乱弄得一团糟。 我已经做了,我一点也不后悔。 而你,似乎对用MQ强加的人为限制来约束自己感到非常高兴。 也许你是个受虐狂?)而你却如此执着地试图说服我这是一种方式。 这不是必要的,是被迫的。 Alexey Navoykov 2019.01.25 09:13 #29 Алексей Тарабанов:你不能用一个函数来启动某个东西的价值。即使你真的想这样做。你不明白吗? 是的,我不明白,请解释。 Alexey Navoykov 2019.01.25 09:17 #30 Ilya Malev:那么是程序化编程还是面向对象的编程?为什么突然间要在初始化前执行与类无关的功能,对于类型化的对象来说。我明白,答案是 "因为我觉得喜欢"。但如果我是开发者,我不会急于取消一切,跑去修复这个特殊的行为,因为这是一个相当边缘的架构,此外,这个问题很容易通过创建一个类的实例来解决。当然,不是在一个函数里面。所以,按照我的理解,你是大规模使用全局变量 的支持者。 那么你和我就不太可能理解对方。 此外,函数本身可能是一个模板。和创建的实例,应该分别以相同的类型作为参数。 template<typename T> int f() { A<T> a; return a.f(); } 你是做什么的? 12345678910...28 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你已经找到了一个创造它的方法。
你试图在初始化阶段使用一个类 的静态字段,而该类至少有一个实例被创建。在我看来,这是一种变态...这就是它的正常工作方式。
封装原则通常意味着这种字段应该是隐藏的,而不是公开的。一个静态字段就是因为这个原因,它不依赖于有类的实例。 但如果你想先创建一个类的实例--好的,创建它,但只是在函数里面。 然后从它那里请求这个字段(直接或通过一个方法)--结果还是一样的。
你对某些事情感到困惑。
不,我对任何事情都不感到困惑。
首先是全局级变量,然后是静态变量,最后是代码中出现的局部变量。
这个特殊的例子违反了文档中关于不要用函数初始化变量 的建议。对开发者来说,写这样的警告比解释哪里必须和不必须更容易。
从你的样品中去除静电,得到你想要的结果。
不,我对任何事情都不感到困惑。
首先是全局级变量,然后是静态变量,最后是代码中出现的局部变量。
这个特殊的例子违反了文档中关于 不要用函数初始化变量 的建议。对开发者来说,写这样的警告比解释哪里必须和不必须更容易。
从你的例子中去掉静态的东西,就可以得到理想的结果。
如果它是一个常量(全局可见性大多声明常量,如果代码很聪明的话),就没有其他选择。
关于黄色的一切,我有一个问题:为什么? 我已经想出了如何解决问题的办法。这里,以免把你已经做的事情弄得一团糟。
"文件建议"))我对你感到惊奇。你真的还没有抓住重点吗? 语言中存在着一个错误。开发人员自己也在谈论这个问题,并向你解释如何正确地打手鼓,以避免遇到这个错误。我确保一劳永逸地忘记这个错误。
你不能用一个函数来启动某个东西的价值。即使你真的想这样做。你不明白吗?
一个静态字段是一个静态的,所以它不依赖于类的实例。 但是如果你想先创建一个类的实例,好的,创建它,但是只在函数里面。 然后从它那里请求这个字段(直接或通过方法)--结果又会是一样的。
那么,是程序化编程还是面向对象编程?为什么我们要在初始化之前的阶段执行与类无关的函数,并参考类型化的对象呢。我明白,答案是 "因为我觉得喜欢"。但如果我是一个开发者,我不会急于取消一切,跑去修复这个特殊的行为,因为这是一个相当边缘化的架构,此外,通过创建一个类的实例,问题很容易解决。当然,不是在函数内部。
永远如此,以免把你已经造成的混乱弄得一团糟。
你不能用一个函数来启动某个东西的价值。即使你真的想这样做。你不明白吗?
那么是程序化编程还是面向对象的编程?为什么突然间要在初始化前执行与类无关的功能,对于类型化的对象来说。我明白,答案是 "因为我觉得喜欢"。但如果我是开发者,我不会急于取消一切,跑去修复这个特殊的行为,因为这是一个相当边缘的架构,此外,这个问题很容易通过创建一个类的实例来解决。当然,不是在一个函数里面。
所以,按照我的理解,你是大规模使用全局变量 的支持者。 那么你和我就不太可能理解对方。
此外,函数本身可能是一个模板。和创建的实例,应该分别以相同的类型作为参数。
你是做什么的?