Erreurs, bugs, questions - page 1707

 
Sergei Vladimirov:
Et je ne comprends toujours pas le dernier exemple. La surcharge de l'opérateur "=" dans la classe A fait passer this[0] de rvalue à lvalue... Je n'arrive pas à comprendre comment. S'agit-il d'une fonctionnalité de la MCL ? Il n'y a pas de tel comportement chez les pros.fxsaber, comment êtes-vous arrivé à cette construction ? Je veux dire surcharge = en A. Ou par essais et erreurs ?
Je l'ai fait en toute connaissance de cause. Sinon, je n'aurais certainement pas écrit une telle chose.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Bibliothèques : TypeToBytes

fxsaber, 2016.09.21 21:25

Publié. Maintenant, pour toute variable (structure ou type standard), non seulement la lecture fonctionne comme avec un tableau, mais aussi l'écriture :

_W(AnyVariable)[Pos] = AnyValue; // Записывает по байтовому смещению Pos значение AnyValue в переменную AnyVariable

Ce n'était pas facile à deviner avant l'implémentation - cela s'est probablement avéré être un bon test de la compétence moyenne en matière de POO : je ne connais que les classiques pour les classes.

Si quelqu'un connaît quelque chose de similaire, veuillez partager le lien pour l'éducation.


 
fxsaber:
Je l'ai fait en toute connaissance de cause. Sinon, je n'aurais pas écrit une telle chose.

Donc vous comprenez tout, mais vous ne pouvez pas le dire ? )) Je vois.
 
Sergei Vladimirov:
Donc vous comprenez tout, mais vous ne pouvez rien dire ? )) Je vois.
Ouais, eh bien, ça arrive. Je ne peux pas le formuler. C'est pourquoi je demande aux développeurs de le faire correctement.
 
Sergei Vladimirov:

Où ? Ici ?

this[0] = new A ;

Ici, l'opérateur[] renvoie la valeur contenue dans la cellule Data[0]. Il ne s'agit pas d'une référence à cette cellule ou d'un pointeur vers celle-ci, mais simplement d'une copie de la valeur contenue dans cette cellule, c'est-à-dire rvalue. Rien ne peut être attribué à cette copie, bien sûr. Je ne comprends pas en quoi l'opérateur= dans la classe A change cela.

Peut-être s'agit-il de ces mêmes problèmes de références dans le MCL.

A* operator []( const int Pos )
{
    return(this.Data[Pos]);
}

Il se peut que ce ne soit pas la valeur retournée ici, mais plutôt une référence à celle-ci, c'est-à-dire lvalue... Mais pourquoi ne peut-on pas lui attribuer une nouvelle valeur immédiatement, pourquoi avons-nous besoin de l'opérateur= dans la classe A ? Je ne comprends pas...

 
Sergei Vladimirov:

Probablement, il s'agit des mêmes références dans MKL.

Comme s'il ne s'avérait pas que ce n'est pas une valeur qui est retournée ici, mais une référence à celle-ci, c'est-à-dire lvalue... Mais pourquoi ne peut-on pas lui attribuer une nouvelle valeur immédiatement, pourquoi avons-nous besoin de l'opérateur= dans la classe A ? Je ne comprends pas...

Lorsque vous assignez quelque chose à un pointeur de valeur, le pointeur est automatiquement converti en une référence d'objet. Tout le monde est né hier !

Cela fait longtemps que je demande cela au Bureau, mais ils disent que ce n'est pas sûr, bien qu'en fait ce ne soit pas plus dangereux que de passer des arguments par référence.

 
Alexey Navoykov:

Lorsque vous assignez quelque chose à un pointeur de valeur r, le pointeur est automatiquement converti en référence d'objet. C'est comme hier, n'est-ce pas ?

Je comprends maintenant, merci.
 
La possibilité de mettre en évidence une ou plusieurs lignes dans le ruban fait défaut. Je peux le regarder, mais je ne peux pas le mettre en évidence.
 
Qu'est-ce que c'est que ça ?
2016.09.26 14:02:11.858 Books   invalid book item[RTS-12.16,buy,98090.00000,-16]
 

Mauvaise concordance de type

MqlTick time_msc - long.

Copier les tics de - ulong.

 
Bonjour. Cher administrateur.
J'utilise beaucoup le téléphone. Maintenant, je suis malade et j'écris seulement dessus mais il y a des problèmes.

1. Version Android
2. Il n'y a pas d'option de traduction dans les messages personnels. C'était le cas avant. Parfois, ils écrivent en espagnol, en allemand. Je ne sais pas ce qu'ils écrivent là-bas))) L'anglais est correct. Et d'ailleurs, il y avait auparavant un bug dans la traduction qui ne correspond pas à l'ensemble des langues disponibles.
3. Dans la description du produit, dans la revue, la vidéo est trop grande. Est-il possible de l'étirer pour le mobile ? Toesit le rendre plus petit sur l'écran mobile.
4. L'erreur la plus importante. Je ne peux pas écrire un message privé à une nouvelle personne depuis mon portable. Il n'y a même pas de bouton. Ici, je suis en train de lire une critique, par exemple. Je veux écrire à cette personne, mais comment ? Pas de bouton pour écrire.
5. Et ce n'est pas tout. Dans la version mobile, il n'y a pas de barre d'outils pour taper. Je comprends que ce n'est pas nécessaire, mais quand même)))) au moins ajouter quelque chose de la direction. Après tout, le téléphone est le deuxième ordinateur.
De plus, l'icône des Favoris n'apparaît pas en haut.