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
Ces derniers temps, j'ai commencé à voir une sorte de "collecte de déchets" dans les fonctions de divers compilateurs. Qu'est-ce que c'est ?
Ici, cela dépendra de la langue, en Sharp, d'après ce que j'ai compris, c'est impossible.
Il est, tout ce qui peut être fait est d'affecter un objet inutilisé à NULL, il ya des manuels sur le site de Microsoft comment forcer à appeler le collecteur de déchets, mais il semble que je lis sur hubra que pas le fait que le collecteur sera lancé dans cet appel comme prévu
c'est-à-dire que dans Sharp, ils ont retiré au programmeur la majeure partie de la gestion de la mémoire - tout est à la merci du système d'exploitation et du compilateur.
Il est, tout ce que vous pouvez faire est d'affecter un objet inutilisé à NULL, il ya des manuels sur le site de Microsoft pour forcer le collecteur de déchets, mais il semble que je lis sur hubra que pas le fait que le collecteur sera lancé dans cet appel comme prévu
c'est-à-dire que dans Sharp, ils ont retiré au programmeur la majeure partie de la gestion de la mémoire - tout est à la merci du système d'exploitation et du compilateur.
Et voilà. Je suis en train d'écrire mon premier manuel sur Sharp et je suis effrayé par l'absence de delete dans le code après new dans la méthode))).
au lieu de supprimer MyObj ; écrire MyObj = null ; - cela fonctionnera
et ensuite utiliser ? ? - c'était un peu gênant au début, puis ça marche automatiquement
mais ce n'est pas la plus grande différence avec C++, en C# tous les objets sont des références et si vous définissez MyObj_1=MyObj_2 ; vous n'obtenez pas une copie, mais un pointeur... Je suis sur le point de vous embrouiller, voici un tutoriel rapide, je le consulte au cas où j'aurais oublié quelque chose.
https://metanit.com/sharp/tutorial/2.16.php
Je pense que je commence à comprendre la nécessité et l'utilité de la POO, mais j'ai du mal à la mettre en œuvre.
J'ai une classe qui doit être utilisée avec trois ensembles différents de variables. Mais il accomplit une tâche. En termes simples, nous pouvons insérer 3 constructeurs, déclarer 3 variables et y faire référence. Mais comme je le vois, ce n'est pas tout à fait correct. En outre, il existe une variable de type chaîne de caractères dans deux variantes, mais son nom est différent et elle est utilisée dans différentes parties du code. Bien sûr, vous pouvez changer la séquence des variables mais je pense que ce n'est pas tout à fait correct non plus.
J'ai lu la documentation sur le nouvel opérateur mais je ne comprends pas en quoi il peut être utile. Je ne vois pas la différence entre trois variables d'objet différentes et trois pointeurs vers les mêmes objets. Il est peut-être rentable de créer un pointeur une fois, d'utiliser cet objet et de le supprimer lorsqu'il n'est pas nécessaire. Mais si vous avez besoin de l'objet régulièrement, il est absolument stupide de créer un pointeur vers lui à chaque fois et de le supprimer.
Alors, s'il vous plaît, donnez-moi une grande aide. J'ai lu quelques explications sur la POO en C++, mais elles y sont décrites d'une manière pire que dans la documentation sur mql5. Ne demandez pas aux impatients de me rejoindre, je poserais trop de questions. Le code tout fait sans explications ne m'intéresse pas non plus, je veux le comprendre, et non pas répéter bêtement "Faites avec nous, faites comme nous...".
Je pense que je commence à comprendre la nécessité et l'utilité de la POO, mais j'ai du mal à la mettre en œuvre.
J'ai une classe qui doit être utilisée avec trois ensembles différents de variables. Mais il accomplit une tâche. En termes simples, nous pouvons insérer 3 constructeurs, déclarer 3 variables et y faire référence. Mais comme je le vois, ce n'est pas tout à fait correct. En outre, il existe une variable de type chaîne de caractères dans deux variantes, mais son nom est différent et elle est utilisée dans différentes parties du code. Bien sûr, vous pouvez changer la séquence des variables mais je pense que ce n'est pas tout à fait correct non plus.
J'ai lu la documentation sur le nouvel opérateur mais je ne comprends pas en quoi il peut être utile. Je ne vois pas la différence entre trois variables d'objet différentes et trois pointeurs vers les mêmes objets. Il est peut-être rentable de créer un pointeur une fois, d'utiliser cet objet et de le supprimer lorsqu'il n'est pas nécessaire. Mais si vous avez besoin de l'objet régulièrement, il est idiot de créer un pointeur vers lui à chaque fois et de le supprimer.
Dans l'ensemble, aidez-nous, s'il vous plaît. J'ai lu quelques explications sur la POO en C++, mais elles y sont décrites d'une manière pire que dans la documentation sur mql5. S'il vous plaît, ne soyez pas impatients, je vais poser trop de questions. Le code tout fait sans explications ne m'intéresse pas non plus, je veux le comprendre, et non pas répéter bêtement "Faites avec nous, faites comme nous...".
Nous avons besoin de plus de détails. Quelle est la tâche de la classe ?
Des détails sont nécessaires. Quelle est la tâche de la classe ?
Ce n'est pas un secret, un échantillon des événements du calendrier économique CalendarValueHistory(). Dans un cas, toutes les nouvelles de la période considérée. Dans un autre par pays et dans un autre intervalle de temps. Dans le troisième, c'est par un symbole. Mais y a-t-il une différence fondamentale ? Les cours de programmation divisent-ils les solutions en fonction du type de tâches qu'elles accomplissent ?
J'ai récemment rencontré une personne qui a échoué à un examen de conduite et qui s'est indignée en disant qu'elle n'avait pas conduit à cette intersection pendant ses cours de conduite et qu'elle ne savait tout simplement pas comment conduire à cette intersection.
Dans un autre par pays et dans une autre fourchette de temps.
pays dans l'enum
Dans le constructeur, même par le biais de l'habituel switch - case, faire l'initialisation que vous avez besoin, j'ai montré ci-dessus un modèle avec des interfaces, je aussi initialiser l'une des stratégies dans le constructeur, en fonction des paramètres, et le reste du travail est réduit à l'écriture d'une stratégie spécifique
https://www.mql5.com/ru/forum/85652/page24#comment_13054686
pays dans l'enum
Dans le constructeur, même à travers l'habituel switch - case, faites l'initialisation comme vous le souhaitez, j'ai montré ci-dessus un modèle avec des interfaces, j'initialise également une des stratégies dans le constructeur en fonction des paramètres, et le reste du travail se résume à écrire une stratégie spécifique
https://www.mql5.com/ru/forum/85652/page24#comment_13054686
Ennuyeux... Il y a également des modèles et des interfaces à maîtriser ???