Caractéristiques du langage mql5, subtilités et techniques - page 162
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
pour les structures et les classes qui incluent des chaînes de caractères ou des tableaux dynamiques ou des références de classe, sizeof() pointera le doigt vers le ciel.
et je peux le comprendre :-)
Le type de chaîne dans mql est très compliqué, et n'est pas entièrement divulgué dans la documentation.
Mais on peut deviner, à partir du langage C, que le tableau de chars (tampon) est enveloppé dans un type de chaîne de caractères.
Et ensuite vous commencez à danser en comprenant comment cela fonctionne ;))
Le type de chaîne dans mql est très délicat, et n'est pas entièrement divulgué dans la documentation.
Mais le langage C suggère que le type de chaîne de caractères est un tableau de caractères (tampon).
Et ensuite vous commencez à danser en comprenant comment cela fonctionne ;))
Il n'y a pas de cordes en C.
pour les structures et les classes qui incluent des chaînes de caractères ou des tableaux dynamiques ou des références de classe, sizeof() pointera le doigt vers le ciel.
et je peux le comprendre :-)
Mais pourquoi ?
Avec n'importe quel tableau dynamique, il affichera la taille de l'objet tableau dynamique, qui est de 52 octets dans MQL5.
Il n'y a pas de strings en C.
Je pense que c'est déjà le cas, mais là n'est pas la question.
Oui, C a char[], il est enveloppé dans la chaîne mql
Mais pourquoi ?
Avec n'importe quel tableau dynamique, il affichera la taille de l'objet tableau dynamique, qui est de 52 octets dans MQL5.
la taille de ce qu'il montrera et pour qui ?
52 octets est leur dispositif interne seulement.
La raison pour laquelle il n'est pas 64 n'est pas claire, ils auraient pu s'aligner :-)
Je pense que c'est déjà le cas, mais là n'est pas la question.
Oui, C a char[], il est enveloppé dans la chaîne mql
Je comprends ça.
Je n'utilise pas du tout les fonctions de chaîne. Je les convertis immédiatement en un tableau de caractères à l'aide de la fonction StringToCharArray, puis je travaille avec ce tableau. Je l'ai trouvé beaucoup plus efficace.
Surtout quand il s'agit d'analyse syntaxique.
la taille de ce qu'il montrera et pour qui ?
52 octets, c'est seulement leur structure interne.
On ne sait pas pourquoi ce n'est pas 64, ils auraient pu l'aligner :-)
Probablement une sorte de structure avec différents types. Par exemple, 5 ulong et 3 uint. Le temps est peut-être présent pour le traitement interne et l'heure du dernier accès. JE NE SAIS PAS. Qui sait ce que cette structure peut contenir.
Eh bien, c'est compréhensible.
Je n'utilise pas du tout les fonctions de chaîne. Je les convertis immédiatement en un tableau de caractères à l'aide de la fonction StringToCharArray, puis je travaille avec ce tableau. Je l'ai trouvé beaucoup plus efficace.
Très probablement, sous mql string il y a short[] ou wchar_t[] ou wchar_t*.
Après tout, les chaînes mql sont en Unicode, alors que utf est de 2 octets.
Et StringToCharArray convertit les short[] en char[].
Et très probablement sous mql string il y a short[]
Après tout, il y a 2 octets dans une chaîne de caractères en Unicode dans mql.
Et StringToCharArray convertit les short[] en char[].
non, j'aurais remarqué. Bien que je n'exclue pas que dans certains cas (en travaillant avec Unicode) cela soit possible. En Java, par exemple, le type char est de 2 octets.
J'ai essayé d'analyser les données de la crypto-monnaie en deux variantes : via cette bibliothèque JSON et en travaillant avec un tableau de caractères.
La différence s'est avérée être 700( !!!) fois plus rapide. J'étais choqué. Peut-être était-ce loin d'être la meilleure implémentation de JSON.