下载MetaTrader 5
要添加评论,请登录注册
您找到产品错误了吗?申请到服务台
MetaQuotes Software Corp.
版主
177303
MetaQuotes Software Corp. 2015.11.18 08:01 

新文章 MQL5秘笈之:采用关联数组或字典实现快速数据访问已发布:

本文介绍一种能够通过key来访问元素的特殊算法。任何基本数据类型都可以被当作key。例如它可以是一个字符串或一个整型值。这样的数据容器通常被称为字典或这关联数组。这为解决问题提供了便捷。

本文介绍一个便捷的存储信息的类,称为关联属于或者字典。这个类允许通过密钥来访问其中的信息。

关联数组是一个常规数组。但是它使用某些具备唯一性的key来取代索引,如ENUM_TIMEFRAMES枚举值或者一些文本。用什么作为key并不关键。只要key是唯一的。这种数据存储算法能显著的简化许多编程工作。

例如,一个能够打印错误信息的函数,就能够如下实现:

//+------------------------------------------------------------------+
//| 在终端中显示错误描述                                                |
//| 如果错误代码未知则显示“未知错误”                                     |
//+------------------------------------------------------------------+
void PrintError(int error)
 {
   Dictionary dict;
   CStringNode* node = dict.GetObjectByKey(error);
   if(node != NULL)
      printf(node.Value());
   else
      printf("Unknown error");
 }

我们后面会仔细分析这段代码。

在介绍关联数组内部逻辑之前,我们来看看数据存储的两个主要方式,即数组和列表。我们的字典将基于这两个数据类型,因此我们要对他们的特性有深入的理解。第一张重点介绍数据类型。第二章介绍关联数组及其方法。

作者:Vasiliy Sokolov

/
要添加评论,请登录注册