Bibliothèque de classes génériques - bogues, description, questions, caractéristiques d'utilisation et suggestions - page 24
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Question sur l'obtention d'une valeur à partir d'une clé. Dans le code de la bibliothèque, cette méthode ressemble à ceci
Oui, ce code peut être trompeur en raison de la réaffectation non standard de i dans for.
Tout d'abord, nous accédons au sous-réseau par son index, qui peut contenir notre valeur :i=m_buckets[hash_code%m_capacity] ;(c'est-à-dire l'index i du sous-réseau ou du bac de valeur).
Ensuite, dans le même for, l'index du bac est transformé en index de l'élément du bac :i=m_entries[i].next
En fait, le code est écrit correctement, car dans un cas typique, chaque sous-réseau aura en moyenne un élément et la boucle ne sera en moyenne exécutée qu'une seule fois.
Oui, ce code peut être trompeur en raison de la réaffectation non standard de i dans for.
Tout d'abord, nous accédons à un sous-réseau par son index, qui peut contenir notre valeur :i=m_buckets[hash_code%m_capacity] ;(c'est-à-dire i index du sous-réseau ou panier de valeurs).
Ensuite, dans le même for, l'index du bac est transformé en index de l'élément du bac :i=m_entries[i].next
En fait, le code est écrit correctement car, dans un cas typique, chaque sous-réseau contient en moyenne un élément et la boucle ne s'exécute en moyenne qu'une seule fois.
Je comprends que la boucle est faite pour les collisions : passer par la mini-liste.
J'en déduis que la boucle est faite pour les collisions : pour parcourir une mini-liste.
Oui, tout à fait.
Utilisation de la bibliothèque de modèles(CArrayList) pour stocker les types personnalisés. L'impression n'est pas très bonne. Pour des raisons de commodité, j'ai écrit des macros
L'excès de foolproofing dans TryGetValue + l'impossibilité de passer des classes par valeur rend l'utilisation pénible.
Dites-moi, peut-être que je ne comprends pas quelque chose, mais si j'essaie d'utiliser une construction de ce type :
Je reçois une erreur :
Option - les objets sont transmis uniquement par référence ICollection.mqh 14 18
Et puis il y a toute une série d'erreurs...Dites-moi, peut-être que je ne comprends pas quelque chose, mais si j'essaie d'utiliser une construction de ce type :
Je reçois une erreur :
Option - les objets sont transmis uniquement par référence ICollection.mqh 14 18
et il y a une pile complète d'erreurs ensuite...Essayez comme ça :
Essayez de cette façon :
Passer/stocker des pointeurs vers une collection est une erreur conceptuelle.
Passer/stocker des pointeurs vers une collection est une erreur conceptuelle.
il n'y a pas de générique pour MQL qui soit même marginalement approprié. tous ont de sérieux bugs. utilisez un tableau intégré, cela vous donnera moins de maux de tête.
il n'y a pas de générique pour MQL qui soit un tant soit peu approprié. tous ont de sérieux bugs. utilisez un tableau intégré, cela vous donnera moins de maux de tête.
Eh bien, oui, j'ai utilisé un tableau. Pourquoi créer des collections et les mettre dans kodobase si elles ne conviennent qu'aux types intégrés) ?