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
Bonjour. Je suis débutant. J'ai une question concernant l'utilisation de l'icône "*" (astérisque).
Dans le fichier samplelist :
"*" est utilisé pour déclarer un pointeur sur un objet - c'est assez clair.
Ensuite :
L'utilisation du signe "*" n'est pas claire.
Selon l'aide,"il est possible de créer dynamiquement des objets d'un type complexe. Le nouvel opérateur n'est pas utilisé ici. Veuillez expliquer plus en détail comment et dans quels cas le signe "*" peut être utilisé.
En outre, cependant :
La signification du signe "*" placé à cet endroit n'est pas claire.
On peut écrire ceci
Il n'y aura pas de différence, il s'agit seulement du style de conception et d'une petite approche idéologique.
Vous pouvez l'écrire comme suit
Il n'y aura pas de différence, il s'agit seulement du style de conception et d'une petite approche idéologique.
Par exemple, ceci est une déclaration d'un pointeur vers l'objet (ou la méthode ?) next() ?
CListItem *next(){return(next);}il s'agit d'une déclaration d'un pointeur sur l'objet (ou la méthode ?) next() ? Et ensuite, entre parenthèses, l'objet next lui-même est renvoyé... Est-ce que je comprends bien ?
Je comprends que tout devrait être très simple, mais comme je n'ai jamais rencontré la POO auparavant, je m'égare dans 3 pins. Faites-moi comprendre, s'il vous plaît.
C'est-à-dire.
est une déclaration d'un pointeur sur l'objet (ou la méthode ?) next() ?
Puis, entre accolades, l'objet suivant lui-même est renvoyé. Ai-je bien compris ?
Le corps de la fonction est entre accolades,
{return(next);}cela signifie que la fonction renverra la variable next, qui a le type d'un pointeur sur un objet de la classe CListItem. Cela correspond généralement au type de la fonction.
Juste après le premier exemple, l'article contient la phrase "La variable pstatus est un pointeur d'un objet, mais nous avons délibérément "oublié" de créer l'objet lui-même à l'aide de l'opérateur new et nous l'avons passé en paramètre à la fonction PrintStatus()".
1. Il n'est pas clair ce que vous avez passé "exactement" - un pointeur ou un objet ?
2. Il n'y a pas de fonction PrintStatus() dans l'exemple.
Je pense qu'il y a une erreur :
Il semble que le nouvel élément de la liste ait prev et first référençant le deuxième élément, et le deuxième élément ne reçoit pas de référence au premier élément.Juste après le premier exemple, l'article contient la phrase suivante : "La variable pstatus est un pointeur d'objet, mais nous avons délibérément "oublié" de créer l'objet lui-même avec l'opérateur new et nous l'avons passé en paramètre à la fonction PrintStatus()".
1. On ne sait pas exactement ce qui a été passé : un pointeur ou un objet ?
2. Il n'y a pas de fonction PrintStatus() dans l'exemple.
Mieux vaut tard que jamais. Merci, c'est corrigé dans l'article. La fin de la phrase a été supprimée
Juste après le premier exemple, l'article contient la phrase "La variable pstatus est un pointeur d'un objet, mais nous avons délibérément "oublié" de créer l'objet lui-même en utilisant l'opérateur new et nous l'avons passé comme paramètre à la fonction PrintStatus()".
Je pense qu'il y a une erreur :
Il semble que le nouvel élément de la liste ait prev et first référençant le deuxième élément, et que le deuxième élément ne reçoive pas de référence au premier élément.Oui, il y a une faute de frappe. Au lieu de
doit être
corrigé.Je ne comprends toujours pas ce que sont les pointeurs et les références dans MQL5 et maintenant dans MQL4. Quelle est la différence entre le passage par référence et le pointeur, si ce n'est du code supplémentaire ? Il y a une différence en C++, mais quelle est-elle ici ? Si ce n'est pas difficile, veuillez écrire des informations plus détaillées.