Et combien de temps s'est écoulé avant que ces opérations ne soient réellement introduites... Seul le vent le sait probablement. Mais oui, des choses assez importantes peuvent être soulevées sur le forum pendant des années sans grand succès.
Si vous n'avez pas peur de faire défiler les pages vers l'avant, vous pouvez tout voir :
Eh bien, si vous n'êtes pas paresseux et que vous faites défiler un peu vers l'avant, vous pouvez tout voir :
Si vous faites défiler plus bas, vous trouverez ceci :
Ilyas: Ajouté aux deux langues. Mais malheureusement, il ne sera pas intégré dans la prochaine version.
En général, il est clair qu'ils ont été ajoutés il y a environ trois ans, très probablement... Mais où sont les nouvelles, où est la documentation, l'aide, pourquoi n'y a-t-il qu'une mention de & et pas de *, s'ils ont été ajoutés en même temps ? Si l'on en juge par le fait que & est dans la documentation et que * ne l'est pas, on peut supposer que c'est * qui a été abandonné pour une raison quelconque juste avant la sortie de la version et finalement ajouté plus tard. Pour en avoir le cœur net, il faut soit trouver un article de presse sur la version où cela a été ajouté, soit demander aux administrateurs eux-mêmes.
C'est-à-dire qu'à l'origine, les pointeurs ont été ajoutés à MQL sans possibilité de les déréférencer dans le code. Il s'agit d'une approche intéressante.
Reste-t-il à terminer l'arithmétique des pointeurs ou est-ce déjà possible ?
class A
{
public:
int iValue;
};
//......................
A m_A[5];
voidOnStart()
{
A* pA;
for(int c =0; c < 5; c++)
{
pA = &m_A[c];
(*pA).iValue =c;
printf("A[%i].iValue: %i", c, m_A[c].iValue);
// pA++
}
}
Le & en 1224, par contre, compile avec brio. Ce qui prouve mon hypothèse que seul & et non * a été ajouté à cette époque.
D'ailleurs, il se pourrait bien que, puisque tous les canaux officiels (forum, aide, documentation) gardent le silence sur l'opérateur *, les administrateurs pensent peut-être à le supprimer à nouveau et à faire comme s'il n'avait jamais existé)). Il est donc dangereux de compter sur son utilisation pour le moment, je pense.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Et combien de temps s'est écoulé avant que ces opérations ne soient réellement introduites... Seul le vent le sait probablement. Mais oui, des choses assez importantes peuvent être soulevées sur le forum pendant des années sans grand succès.
Si vous n'avez pas peur de faire défiler les pages vers l'avant, vous pouvez tout voir :
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Bugs, bugs, questions
Ilyas, 2015.09.03 14:30
Ajout des opérateurs *(Dereference/Inderection) et &(Address-of), aucun changement linguistique supplémentaire ne sera effectué/prévu.
Eh bien, si vous n'êtes pas paresseux et que vous faites défiler un peu vers l'avant, vous pouvez tout voir :
Si vous faites défiler plus bas, vous trouverez ceci :
Ajouté aux deux langues. Mais malheureusement, il ne sera pas intégré dans la prochaine version.
En général, il est clair qu'ils ont été ajoutés il y a environ trois ans, très probablement... Mais où sont les nouvelles, où est la documentation, l'aide, pourquoi n'y a-t-il qu'une mention de & et pas de *, s'ils ont été ajoutés en même temps ? Si l'on en juge par le fait que & est dans la documentation et que * ne l'est pas, on peut supposer que c'est * qui a été abandonné pour une raison quelconque juste avant la sortie de la version et finalement ajouté plus tard. Pour en avoir le cœur net, il faut soit trouver un article de presse sur la version où cela a été ajouté, soit demander aux administrateurs eux-mêmes.
Je peux vous donner les constructions 1047, 1085, 1210 et 1224 (de cette époque) pour l'expérimentation ;)
Vous pouvez me le donner. Mon email est dans mon profil.
Vous pouvez me le donner. Mon adresse électronique est dans mon profil.
Peut-être que quelqu'un d'autre l'aimerait.
Au même moment, le & en 1224 se compile en "hourra". Ce qui prouve mon hypothèse que seul & et non * a été ajouté alors
C'est-à-dire qu'à l'origine, les pointeurs ont été ajoutés à MQL sans possibilité de les déréférencer dans le code. Il s'agit d'une approche intéressante.
Reste-t-il à terminer l'arithmétique des pointeurs ou est-ce déjà possible ?
Celui-là : (* ) n'est pas nécessaire ici
* n'est nécessaire dans µl que lorsque les opérations =, ==, !=, !, && ou || sont appliquées directement au * pointeur.D'ailleurs, il se pourrait bien que, puisque tous les canaux officiels (forum, aide, documentation) gardent le silence sur l'opérateur *, les administrateurs pensent peut-être à le supprimer à nouveau et à faire comme s'il n'avait jamais existé)). Il est donc dangereux de compter sur son utilisation pour le moment, je pense.