PLO - 页 8 12345678 新评论 Flops 2012.04.22 20:17 #71 如何在函数参数中返回一个引用?这种代码会引起问题。CMy* obj; // global bool func(CMy* obj) { ... obj = new CMy(); ... } 当试图处理obj时,无效的 指针访问。试着添加一个&。bool func(CMy*& obj) 它是有效的。我在文档中没有找到函数参数中的引用返回。以此类推,我在C++中发现了这个话题:http://stackoverflow.com/questions/5286453/returning-a-pointer-as-a-function-parameter但**在这里不起作用。*&而不是它?5.00.630 x64 returning a pointer as a function parameter stackoverflow.com Im trying to return the data pointer from the function parameter: bool dosomething(char *data){ int datasize = 100; data = (char *)malloc(datasize); // here data address = 10968998 Yedelkin 2012.04.23 02:34 #72 flops: 在文档中没有发现函数参数中的返回引用。 你是说这个。MQL5 参考 / 语言基础知识 / 数据类型 / 参考。修饰词&和关键词this? [删除] 2012.04.23 02:58 #73 flops:如何在函数参数中返回一个引用?这种代码会引起问题。当试图处理obj时,无效的指针访问。试着添加一个&。 它是有效的。我在文档中没有找到函数参数中的引用返回。以此类推,我在C++中发现了这个话题:http://stackoverflow.com/questions/5286453/returning-a-pointer-as-a-function-parameter但你的**并不奏效。*&而不是它?5.00.630 x64IMHO(那是很久以前的事了)。你不能通过参数传递一个指针,而是创建一个引用。你不能将一个新的类的实例绑定到一个引用上。那就剩下以下方式了。 CMy* func() { ... CMy* obj; obj = new CMy(); return(obj); ... } Andrei01 2012.04.23 06:15 #74 Vigor:我是OOP的支持者,因为我已经理解了从下往上编程的便利。从对象交互界面到类的实现。 一个接口不就是一个类的外部吗? Flops 2012.04.23 06:16 #75 220Volt:IMHO(那是很久以前的事了)。你不能通过参数传递一个指针,你可以创建一个引用。你不能将一个新的类的实例绑定到一个引用上。这就给我们留下了这个选项。我对这个问题的定义不正确。通过引用传递一个 指针。我想知道一个人是否可以使用*& 变体,他们不会在进一步的版本中涵盖它吗?在C++中,这样的结构似乎是合法的。 Flops 2012.04.23 06:21 #76 Yedelkin: 你指的是它。MQL5参考指南 / 语言基础知识 / 数据类型 / 参考文献。修饰词&和关键词this?我希望有正确的信息...在文章中https://www.mql5.com/ru/docs/basis/function/ParameterPass你也可以添加有关与对象工作的信息。 Документация по MQL5: Основы языка / Функции / Передача параметров www.mql5.com Основы языка / Функции / Передача параметров - Документация по MQL5 Igor Volodin 2012.04.23 08:25 #77 Andrei01: 一个接口不就是类的外部吗?它对物体有什么区别?这种解释中的接口是一种数据类型,因为它的描述足够清楚地定义了对象的属性。而且,事实上,它定义了物体的外部行为。 在我引用的材料中,反对OOP的人提到,不可能在不实现算法的情况下立即创建类结构,这就是为什么OOP环境中经常实行重构,以及为什么类以其永恒的重新设计阻碍了 开发。而这确实是事实。 当你实施新的东西而不了解它能导致什么时,你必须重做课程,而且不止一次。 创建一个好的类架构是初学者的一个绊脚石。从本质上讲,OOP编程的意义在于编写你自己的"语言",这种语言在未来可以很容易和快速地创建。界面是一种语言的本质,它是为任务而设计的。事实上,接口不能被理解为类的 "类型 "结构,作为类的契约,必须在代码中执行(在MQL中,它并不存在,接口的作用可以由虚拟方法勉强执行)。 例如,你可以为创建新的EA创造一种 "语言",使你能够在几行中从对象中组合出EA的总体方案。信号和条件可以使用现成的,或者你可以开发自己的信号类,通过类比创建自己的库。这种可能性是由MQL5 Wizard 提供的。通常情况下,应用程序的方案已经开发完毕,"OOP编程 "基本上归结为使用现有的类,并在有限的自由度下编写自己的功能--这很方便。这就是为什么框架如此受欢迎。在开发应用架构时,它们消除了不必要的问题和麻烦。 事实上,自己编写的东西就是创建一个框架类的继承类,并在其中编写某些后台方法的实现,这些方法已经内置于整个应用逻辑中(例如OnInit、OnTick)。 Vasiliy Sokolov 2012.04.23 09:53 #78 Vigor:...创建一个合格的类架构是初学者的一个绊脚石。从本质上讲,OOP编程的意义在于编写你自己的"语言",这种语言在以后的创作中很方便、很快捷。界面是一种语言的本质,它是为任务而设计的。接口不应该被理解为类的 "类型 "的构造,作为类的契约,必须在代码中执行(在MQL中,它不存在,接口的作用可以通过虚拟方法来验证)。 ... OOP的意义在于编写你自己的架构。一旦我们有了一个明确的、清晰的和直观的架构,一切都会水到渠成,项目 的复杂性和数量都不会成为制约因素。然而,为了实现这个非常清晰的架构,你必须一个一个地重写类,以接近这个最初模糊的理想。 Vladimir Gomonov 2012.04.23 11:28 #79 C-4: 相反,OOP的意义在于编写你自己的架构。只要我们有一个清晰、简明、直观的架构,一切都会水到渠成,项目的复杂性和范围都不再是制约因素。然而,为了实现这个非常清晰的架构,你必须一个一个地重写类,以接近这个最初模糊的理想。+1 12345678 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如何在函数参数中返回一个引用?
这种代码会引起问题。
CMy* obj; // global bool func(CMy* obj) { ... obj = new CMy(); ... }
当试图处理obj时,无效的 指针访问。
试着添加一个&。
它是有效的。我在文档中没有找到函数参数中的引用返回。
以此类推,我在C++中发现了这个话题:http://stackoverflow.com/questions/5286453/returning-a-pointer-as-a-function-parameter
但**在这里不起作用。*&而不是它?
5.00.630 x64
在文档中没有发现函数参数中的返回引用。
如何在函数参数中返回一个引用?
这种代码会引起问题。
当试图处理obj时,无效的指针访问。
试着添加一个&。
它是有效的。我在文档中没有找到函数参数中的引用返回。
以此类推,我在C++中发现了这个话题:http://stackoverflow.com/questions/5286453/returning-a-pointer-as-a-function-parameter
但你的**并不奏效。*&而不是它?
5.00.630 x64
IMHO(那是很久以前的事了)。
你不能通过参数传递一个指针,而是创建一个引用。你不能将一个新的类的实例绑定到一个引用上。那就剩下以下方式了。
我是OOP的支持者,因为我已经理解了从下往上编程的便利。从对象交互界面到类的实现。
IMHO(那是很久以前的事了)。
你不能通过参数传递一个指针,你可以创建一个引用。你不能将一个新的类的实例绑定到一个引用上。这就给我们留下了这个选项。
我对这个问题的定义不正确。
通过引用传递一个 指针。我想知道一个人是否可以使用*& 变体,他们不会在进一步的版本中涵盖它吗?在C++中,这样的结构似乎是合法的。
你指的是它。MQL5参考指南 / 语言基础知识 / 数据类型 / 参考文献。修饰词&和关键词this?
我希望有正确的信息...
在文章中
https://www.mql5.com/ru/docs/basis/function/ParameterPass
你也可以添加有关与对象工作的信息。
一个接口不就是类的外部吗?
它对物体有什么区别?这种解释中的接口是一种数据类型,因为它的描述足够清楚地定义了对象的属性。而且,事实上,它定义了物体的外部行为。
在我引用的材料中,反对OOP的人提到,不可能在不实现算法的情况下立即创建类结构,这就是为什么OOP环境中经常实行重构,以及为什么类以其永恒的重新设计阻碍了 开发。而这确实是事实。 当你实施新的东西而不了解它能导致什么时,你必须重做课程,而且不止一次。
创建一个好的类架构是初学者的一个绊脚石。从本质上讲,OOP编程的意义在于编写你自己的"语言",这种语言在未来可以很容易和快速地创建。界面是一种语言的本质,它是为任务而设计的。事实上,接口不能被理解为类的 "类型 "结构,作为类的契约,必须在代码中执行(在MQL中,它并不存在,接口的作用可以由虚拟方法勉强执行)。
例如,你可以为创建新的EA创造一种 "语言",使你能够在几行中从对象中组合出EA的总体方案。信号和条件可以使用现成的,或者你可以开发自己的信号类,通过类比创建自己的库。这种可能性是由MQL5 Wizard 提供的。
通常情况下,应用程序的方案已经开发完毕,"OOP编程 "基本上归结为使用现有的类,并在有限的自由度下编写自己的功能--这很方便。这就是为什么框架如此受欢迎。在开发应用架构时,它们消除了不必要的问题和麻烦。 事实上,自己编写的东西就是创建一个框架类的继承类,并在其中编写某些后台方法的实现,这些方法已经内置于整个应用逻辑中(例如OnInit、OnTick)。
...
创建一个合格的类架构是初学者的一个绊脚石。从本质上讲,OOP编程的意义在于编写你自己的"语言",这种语言在以后的创作中很方便、很快捷。界面是一种语言的本质,它是为任务而设计的。接口不应该被理解为类的 "类型 "的构造,作为类的契约,必须在代码中执行(在MQL中,它不存在,接口的作用可以通过虚拟方法来验证)。
...
相反,OOP的意义在于编写你自己的架构。只要我们有一个清晰、简明、直观的架构,一切都会水到渠成,项目的复杂性和范围都不再是制约因素。然而,为了实现这个非常清晰的架构,你必须一个一个地重写类,以接近这个最初模糊的理想。