La substitution de macro signifie que tout ce code (qui se trouve dans la définition), sera substitué à chaque fois à un endroit précis du programme. Donc en fait, au lieu de créer une fonction et de l'appeler, vous copiez cette fonction à l'intérieur du code plusieurs fois, comme un morceau de code.
Et si vous faites unretour à partir d'une macro, c'est unretour à partir de tout le code où cette macro est insérée.
La substitution de macro signifie que tout le code (qui se trouve dans la définition), sera substitué à chaque fois à l'endroit spécifié du programme. En fait, au lieu de créer une fonction et de l'appeler, vous copiez cette fonction plusieurs fois dans le code, comme un morceau de code.
Et si vous faites leretour d'une macro, c'est le retour de tout le code où cette macro est insérée.
Il s'avère que vous ne pouvez pas écrire une fonction macro.
Comment écrire 2 macros sans sauter à une nouvelle ligne cela augmente considérablement le nombre de lignes, ce qui allonge considérablement le programme, voici un exemple
#define I int#define B bool//это просто пример ни в коем случае не воспринимайте всерьёз
est-il possible de convertir un nom de variable en une chaîne de caractères ?
Ça ne marche pas comme ça :
#define p_func(NAME) Print("This is ##NAME")
//+------------------------------------------------------------------+voidOnStart()
{
int QWERTY;
int zxcvbn;
p_func(QWERTY);//This is ##NAME
p_func(zxcvbn);//This is ##NAME
}
Seric29: Les gars, je veux écrire une macro de makros(a) et elle fonctionnera comme suit : si a est égal à 1, elle retournera toute valeur de type int, si a est égal à 2, elle retournera toute valeur de type double, si a est égal à 3, elle retournera toute valeur de type bool. Est-il possible de le faire ?
Pour quoi faire ? Pour quoi faire ? Où allez-vous l'utiliser ?
Seric29: Guys cette question je veux écrire une macro makros(a), elle fonctionnera comme suit : si a est égal à 1ce alors la macro retournera toute valeur de type int, si a est égal à 2ke alors la macro retournera toute valeur de type double, si a est égal à 3ke alors la macro retournera toute valeur de type bool. Est-il possible de le faire ?
Dans µl, vous pouvez vous passer de GET_EXPAND, mais c'est un truc spécifique à µl, c'est plus correct. Eh bien, les macros μl sont très limitées en raison de l'absence d'opérateur de virgule (bien que par des béquilles...).
ZZY : et c'est tout le temps de la compilation, bien sûr.
ZZZY : au fait, s'il y avait un opérateur fantôme, tu pourrais faire ça :
class Q{
public:
operatorint();
operatordouble();
operatorbool();
};
...
Q q;
int i = q; // call operator intdouble d = q; // call operator doublebool b = q; // ...
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.
Les macros renvoient-elles des valeurs ?
Voici un exemple de code
Voici un exemple de code
La substitution de macro signifie que tout ce code (qui se trouve dans la définition), sera substitué à chaque fois à un endroit précis du programme. Donc en fait, au lieu de créer une fonction et de l'appeler, vous copiez cette fonction à l'intérieur du code plusieurs fois, comme un morceau de code.
Et si vous faites unretour à partir d'une macro, c'est unretour à partir de tout le code où cette macro est insérée.
La substitution de macro signifie que tout le code (qui se trouve dans la définition), sera substitué à chaque fois à l'endroit spécifié du programme. En fait, au lieu de créer une fonction et de l'appeler, vous copiez cette fonction plusieurs fois dans le code, comme un morceau de code.
Et si vous faites leretour d'une macro, c'est le retour de tout le code où cette macro est insérée.
Il s'avère que vous ne pouvez pas écrire une fonction macro.
Il s'avère qu'il n'existe aucun moyen d'écrire une fonction macro.
Une macro-substitution consiste à remplacer un texte par un autre (dans le code source), il ne peut s'agir d'une fonction par définition.
Comment écrire 2 macros sans sauter à une nouvelle ligne cela augmente considérablement le nombre de lignes, ce qui allonge considérablement le programme, voici un exemple
La macro B ne fonctionne plus.
est-il possible de convertir un nom de variable en une chaîne de caractères ?
Ça ne marche pas comme ça :
Les gars, je veux écrire une macro de makros(a) et elle fonctionnera comme suit : si a est égal à 1, elle retournera toute valeur de type int, si a est égal à 2, elle retournera toute valeur de type double, si a est égal à 3, elle retournera toute valeur de type bool. Est-il possible de le faire ?
Pour quoi faire ? Pour quoi faire ? Où allez-vous l'utiliser ?
est-il possible de convertir un nom de variable en une chaîne de caractères ?
Guys cette question je veux écrire une macro makros(a), elle fonctionnera comme suit : si a est égal à 1ce alors la macro retournera toute valeur de type int, si a est égal à 2ke alors la macro retournera toute valeur de type double, si a est égal à 3ke alors la macro retournera toute valeur de type bool. Est-il possible de le faire ?
Dans µl, vous pouvez vous passer de GET_EXPAND, mais c'est un truc spécifique à µl, c'est plus correct. Eh bien, les macros μl sont très limitées en raison de l'absence d'opérateur de virgule (bien que par des béquilles...).
ZZY : et c'est tout le temps de la compilation, bien sûr.
ZZZY : au fait, s'il y avait un opérateur fantôme, tu pourrais faire ça :