Erreurs, bugs, questions - page 1161
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
Une faille dans le méta-éditeur.
Supposons que nous ayons une fonction Obj() qui renvoie un pointeur vers un objet :
Maintenant, si nous nous référons directement à l'objet par le biais de la fonction :Obj().value = 10, aucune liste contextuelle des membres de la classe et des méthodes n'apparaît après avoir saisi un point.
La classe CArray n'est pas une panacée, étant donné que MQL ne supporte pas les patrons de classe. Notre tableau n'est pas nécessairement constitué de types simples, et créer une structure complète du descendant CArray pour chaque nouvelle classe dans un programme n'est pas très intéressant. Regardez simplement combien de lignes de code prend chaque fichier descendant de CArray (ArrayInt.mqh, ArrayDouble.mqh etc.)
Et la façon dont la structure du programme est organisée est d'une importance secondaire. Ne nous éloignons pas du sujet. Le fait est que s'il existe un paramètre qui peut être modifié (dans ce cas, il s'agit de la taille de réserve), il devrait être possible de l'obtenir.
Les types complexes sont hérités de CObject et emballés en toute sécurité dans CArrayObj.
reserve_size - rompt le paradigme de la programmation économique. Il n'existe que pour les débutants et ne doit pas du tout exister dans les langues normales.
reserve_size - viole le paradigme de la programmation frugale. Il n'existe que pour les débutants et ne devrait pas exister du tout dans les langues normales.
Vous avez un étrange paradigme. La réservation est précisément conçue pour une utilisation économique des ressources, en réduisant le nombre de réallocations de mémoire et de déplacements de données (et ce sont des opérations assez coûteuses). Et c'est un développeur de code qui doit gérer ce paramètre, car lui seul sait à l'avance comment son programme utilisera la mémoire. Et cela n'a rien à voir avec le langage, car un tableau est un tableau, il nécessite de la mémoire partout.
C'est un paradigme étrange pour vous. La réservation est précisément conçue pour une utilisation économique des ressources, en réduisant le nombre de réallocations de mémoire et de transferts de données (et ce sont des opérations assez coûteuses). Et c'est un développeur de code qui doit gérer ce paramètre, car lui seul sait à l'avance comment son programme utilisera la mémoire. Et cela n'a rien à voir avec le langage, car un tableau est un tableau tel quel, il nécessite de la mémoire partout.
Vous avez donc déjà répondu à votre propre question :
Il n'a rien à voir avec les moyens linguistiques et doit donc être résolu à un niveau supérieur, celui de l'utilisateur. Résolvez donc votre problème avec les classes CArray* spécialement créées pour ces tâches, qui, soit dit en passant, gèrent cette tâche avec brio et comme si elles avaient été créées pour cela.
Vous avez un étrange paradigme. La redondance est précisément conçue pour utiliser les ressources avec parcimonie, en réduisant le nombre de réaffectations de mémoire et de transferts de données (qui sont des opérations assez coûteuses)...
Code super-économique. Il n'y a aucune réallocation de mémoire, puisque le nombre d'éléments est connu à l'avance. Ce ne sont pas des tableaux qui sont transmis mais des pointeurs vers eux. La vitesse est incroyablement rapide, et nous n'avons pas besoin de reserv_size. Qu'est-ce qui ne vous convient pas dans cette solution ?
Eh, si seulement c'était aussi simple... Dans le monde réel, le nombre d'éléments n'est généralement pas connu à l'avance. Et qui plus est, ce nombre évolue de manière dynamique. Votre exemple simplifié de "Hello world" n'a donc aucun sens. Il peut être remplacé par deux lignes seulement :
Si, personnellement, vous n'utilisez pas le paramètre reserve_size, vous êtes le bienvenu. Mais n'en tirez pas la conclusion que tous les autres sont des imbéciles ou des novices. Peut-être que vous ne comprenez pas quelque chose. Dans les conteneurs STL standard, conçus pour travailler avec des tableaux (vecteur, chaîne, etc.), des méthodes telles que la réserve et la capacité sont toujours présentes aussi.
allez.... même un logiciel spécialisé comme Smart Rotator.... n'aide pas
C'est drôle, mais si je force le mode paysage dans Smart Rotator pour le terminal, toutes les fenêtres deviennent paysage. Mais je veux le mode portrait ! - J'ai mis le terminal en mode portrait, et quoi ? - hehehe... certaines fenêtres sont toujours en mode paysage et d'autres en mode portrait.
Dans la dernière version, la recherche dans MetaEditor (la boîte dans le coin supérieur droit) ne fonctionne plus correctement. Lorsque j'y entre le mot que je cherche, il le remplace automatiquement par une phrase similaire, prise je ne sais où et sans raison. Par exemple, j'essaie de trouver une variable nommée "ERROR_VALUE" mais j'obtiens "error_value 7" dans la ligne de recherche.
Question : d'où viennent ces déchets de gauche dans la ligne de recherche et comment les faire disparaître ?
Dans la dernière version, la recherche dans MetaEditor (la boîte dans le coin supérieur droit) ne fonctionne plus correctement. Lorsque j'y entre le mot que je cherche, il le remplace automatiquement par une phrase similaire, prise je ne sais où et sans raison. Par exemple, j'essaie de trouver une variable nommée "ERROR_VALUE" mais j'obtiens "error_value 7" dans la ligne de recherche.
Question : d'où viennent ces déchets de gauche dans la ligne de recherche et comment les faire disparaître ?
Dans la dernière version, la recherche dans MetaEditor (la boîte dans le coin supérieur droit) ne fonctionne plus correctement. Lorsque j'y entre le mot que je cherche, il le remplace automatiquement par une phrase similaire, prise je ne sais où et sans raison. Par exemple, j'essaie de trouver une variable nommée "ERROR_VALUE" mais j'obtiens "error_value 7" dans la ligne de recherche.
Question : que se passe-t-il ? D'où viennent ces restes de déchets dans la ligne de recherche et comment les faire disparaître ?