![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Ce qui manque dans l'explication de irusoh1 est que la variable doit être un tableau [...].
irusoh1 a raison : la variable n'a pas besoin d'être un tableau. Par exemple :
Je dois renvoyer deux résultats à partir d'une seule fonction.
Si les deux résultats (ou plus) doivent être affectés à des variables, il suffit de les déclarer comme globales et de leur attribuer des valeurs dans la fonction.
Il est considéré comme une bonne pratique de programmation de minimiser le nombre de variables globales. Il est préférable de passer certaines variables par référence (si plusieurs variables doivent être retournées) plutôt que de les déclarer dans une portée globale.
irusoh1 a raison : la variable n'a pas besoin d'être un tableau. Par exemple :
Ma formulation et mon concept sont incorrects pour répondre au sujet. Néanmoins, je vois que le but du passage par référence est essentiellement la manière pratique de manipuler des tableaux par fonction.
L'utilisation d'un paramètre passé comme référence à une fonction sur des variables n'a que l'avantage pratique de modifier un nombre X de variables, plus une variable avec retour.
Alors que l'utiliser pour un tableau permet de modifier le nombre X de tableaux dans la parenthèse fois Y tailles de chaque tableau.
Les tableaux sont toujours passés par référence. Le problème avec les tableaux MQL est qu'ils ne peuvent pas être modifiés dans la fonction (comme le redimensionnement), seuls leurs membres le peuvent.
Cela n'a aucun sens, et limite la portée de la manipulation des tableaux.
Peut-être que cela a été corrigé dans MQL5 ?
[...] Le problème avec les tableaux MQL est qu'ils ne peuvent pas être modifiés dans la fonction (comme le redimensionnement), seuls leurs membres le peuvent.
@ irusoh1 : Voulez-vous dire rendre les paramètres de la fonction dynamiques ? Je ne comprends pas non plus.
Gordon : Savez-vous pourquoi on dit que les paramètres sont transmis par valeur. Les tableaux ne peuvent être transmis que par référence". Je sais comment cela se traduit dans le code mais je ne comprends pas le raisonnement. Par exemple, y a-t-il des cas dans d'autres langages où ce n'est pas le cas ? c'est-à-dire que les tableaux sont passés par valeur ou autre chose. Je ne sais pas quel serait le contraire de cette règle,
cameofx:
Gordon : Savez-vous pourquoi on dit que les paramètres sont transmis par valeur. Les tableaux ne peuvent être transmis que par référence". Je sais comment cela se traduit dans le code mais je ne comprends pas le raisonnement. Par exemple, y a-t-il des cas dans d'autres langages où ce n'est pas le cas ? c'est-à-dire que les tableaux sont passés par valeur ou autre chose. Je ne saurais pas quel est le contraire de cette règle,
Bonjour à tous
Gordon a dit : Il est considéré comme une bonne pratique de programmation de minimiser le nombre de variables globales. Il est préférable de passer certaines variables par référence (si plus d'une variable doit être retournée) plutôt que de les déclarer dans une portée globale.
Je suis désolé, mais ce n'est pas une réponse "technique" :) Pourriez-vous dire pourquoi il est préférable de passer une variable par référence plutôt qu'une variable globale ?
Merci
Philippe