首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MQL4: Object = (Class*)NULL;

MQL4: Object = (Class*)NULL;
EN

Stack Overflow用户
提问于 2014-09-23 20:55:09
回答 1查看 1.4K关注 0票数 0

我在一个我正在努力改进的项目中遇到了这个问题。

代码语言:javascript
复制
class Class1
{
    private:

    public:
       Class1();
       ~Class1();

    protected:

        Class2* Object2;   
};
Imbalance::Imbalance()
  {
   Object2 = (Class2*)NULL;
  }

有人能告诉我*在创建对象时意味着什么吗?为什么在实例化类时,会使object =类为空。有我能读到的书吗?或MQL4,C++中的类和对象上的任何好文档或网页.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-23 20:58:22

* in C++意味着它是指向对象的指针。

初始化指向NULL的指针意味着它没有指向任何地方(顺便说一句,现在nullptr将是一个更好的选择)。

通常,在代码中的某个时刻,您会发现一些语句,如:

代码语言:javascript
复制
if ( Object2 == NULL )       // if not pointing to an object 
     Object2 =  new Class2;  // create a new one 

大多数关于C++的书都对指针进行了深入的解释。

所以我的第一个答案是来自B.Stroustrup的“C++编程语言”。

一些在线教程:这里这里

编辑: MQL4 language

在历史上基于C类语法结构的MQL4语言中,以及最近(post Build 509 )扩展带来了更多(从MQL5域借用的),new也是指向对象的指针,new动态地创建对象。但与C++不同,它不是指向内存位置的直接指针,而是使用描述符概念的间接指针。

一个预定义的常量变量意味着--就像在C++中--没有值。它可以被赋值给任何其他基本类型的变量,而不需要转换。允许将基本类型变量与NULL值进行比较。

在“New 4”( post 509 )中,NULL也可以与指向使用new运算符创建的对象的指针进行比较。

(感谢user3666197提供附加的MQL4特定信息)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26004574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档