Discussion de l'article "Les bases de la programmation MQL5 : Listes" - page 8

 
C-4:

Rien de plus ? Oui, vos classes sont 100% redondantes. Toutes les méthodes et données de cl1 sont presque entièrement dupliquées par la classe cl2, alors que la base est vide.

Cl1 et cl2 ne sont pas dupliquées, ce sont des classes différentes, elles ont des méthodes différentes. La base est vide parce qu'elle n'est nécessaire que pour entasser les différentes classes cl1 et cl2 dans un seul tableau.

C'est superflu. À moins que vous ne puissiez créer une méthode dans chaque classe.

 
Integer:
Ils l'ont fait. C'est très bien. Mais il s'avère que ce n'est pas tout.

Qu'y a-t-il à montrer ? Voici ce que dit le topstarter :

papaklass:

Il est possible de discuter de manière substantielle ! Quel plaisir de lire un tel échange d'opinions.

A ThteXpert.

Si ce n'est pas difficile pour vous, veuillez donner quelques exemples de codes (vous pouvez utiliser votre propre pratique) qui révèleraient vos thèses. N'oubliez pas que la majorité des "nuls" sont ici (je parle d'abord de moi).

Je lui ai donné un exemple concret montrant que vous n'avez pas besoin d'une collection unique qui fonctionnerait avec différents nœuds, mais d'un nœud qui fonctionne avec différentes collections, qui à leur tour fonctionnent avec différentes classes. J'ai montré comment tout cela fonctionne avec CObject.
 
C-4:

Qu'y avait-il donc à montrer ? Voici ce qu'écrit topikstarter :

Je lui ai donné un exemple concret montrant que vous n'avez pas besoin d'une collection qui fonctionnerait avec différents nœuds, mais d'un nœud qui fonctionne avec différentes collections, qui à leur tour fonctionnent avec différentes classes. Je vous ai montré comment tout cela fonctionne avec CObject.
Oui, c'est le cas, mais cela ne nous rend pas heureux :)
 
papaklass:

... donner quelques exemples de codes (vous pouvez utiliser votre propre pratique), qui révèleraient vos thèses.

J'aimerais bien, mais je n'ai pas le temps de m'occuper de MT5 pour l'instant. Et il faudra probablement consacrer un jour ou deux à une mise en œuvre normale.
 
TheXpert:
Merde, j'aimerais bien, mais je n'ai pas le temps de m'occuper de MT5 pour l'instant. Et cela prendrait probablement un jour ou deux pour une mise en œuvre normale.
Comme avec une allusion si subtile que tout ce qui a été écrit ici est une connerie complète, et que vous seul avez une méthode magique dans votre réserve, mais seulement elle restera inconnue de tous en raison de circonstances insurmontables. Pas étonnant.
 
Integer:
Comme une allusion subtile au fait que tout ce qui a été écrit ici est un ramassis de conneries, et que vous seul avez une méthode magique dans votre réserve, mais qu'elle restera inconnue de tous en raison de circonstances insurmontables. Ce n'est pas surprenant.
Peut-être que par l'expression "mise en œuvre normale", vous entendez la mise en œuvre sur des modèles.
 
Integer:

En fait, je n'appuie pas sur des codes. Et je poste beaucoup de choses.

Integer:
Sorte d'allusion subtile au fait que tout ce qui a été écrit ici est une connerie.

C'est loin d'être le cas. Beaucoup d'articles ici sont géniaux. Les codes le sont aussi.

Normal est sur les modèles, oui.

Ah, oui :
Pourquoi tu te défiles ici si tu n'en as rien à foutre ? )
 

Administrateurs et modérateurs, c'est quoi ce double standard ?

Quelqu'un crache de la bile et de la boue - comme de l'eau sur une oie... et un gars normal se fait bannir pour rien.....

 

N'est-ce pas une erreur MT5 qu'un membre de la classe soit modifié dans une méthode const d 'une classe ????

CiSingleList.mqh - compile sans erreur.

//+------------------------------------------------------------------+
//|| Compter la taille de la liste|
//+------------------------------------------------------------------+
void CiSingleList::CalcSize(void) const
  {
   TRACE_CALL(_t_flag)
   uint count=0;
   if(!this.IsEmpty()) // si la liste n'est pas vide
     {
      // traitement d'une liste avec un seul nœud
      if(this.m_head==this.m_tail && this.m_head.GetVal()!=NULL)
         count=1;
      // sinon, parcourir toute la liste 
      else
        {
         CiSingleNode *offNode=this.m_tail.GetNextNode();
         for(CiSingleNode *sn=this.m_head; sn!=offNode; sn=sn.GetNextNode())
            ++count;  // augmenter le compteur
        }
     }
   this.m_size=count;
  }
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - Документация по MQL5
 
ALXIMIKS:

N'est-ce pas une erreur MT5 qu'un membre de la classe soit modifié dans une méthode const d' une classe ????

Erreur, probablement pas encore corrigée. Ils ont écrit quelque part récemment.