Erreurs, bugs, questions - page 1587

 
Alexey Navoykov:
const ici se réfère seulement au pointeur, pas à l'objet par ce pointeur

Je sais ce que vous voulez dire. Mais je pense qu'il doit y avoir une erreur.

Si ce n'était pas MQL5, nous devrions écrire quelque chose comme ceci

(*a).operator[]( 0 );
a->operator[]( 0 );

et alors il y aurait eu des questions. Mais c'est MQL5. Le code infaillible est justifié, IMHO.

 

Alexey Navoykov:
const здесь распространяется лишь на указатель, а не на объект по этому указателю

class A { public:
        void operator[]( int i ) {} // const отсутствует
};
class B { public:
        const A *a; // к чему относится здесь const?
        B(){a = new A; // явно не к указателю - нет ошибки
            a[0];} //логично: 'operator[]' - call non-const method for constant object
        ~B() { delete a; }
};
 
Il n'y a pas de pointeurs constants dans MQL5! Je ne vois pas d'exemple où cela serait une mauvaise chose.
 
Lorsqu'un cinq se bloque, où puis-je consulter le journal des incidents ?
 

J'ai plusieurs comptes dans le terminal des A's dans mes favoris. Je voudrais me connecter à ces comptes un par un et récupérer les informations requises.

Quelqu'un a-t-il réalisé une telle connexion via WinAPI ? S'il vous plaît, partagez, s'il vous plaît.

Je cherche le courtier qui propose les meilleurs prix de démonstration pour le symbole. L'idée est la suivante

  1. Ouvrez des comptes de démonstration chez chacun des courtiers.
  2. Je les mets dans mes favoris.
  3. Connectez-vous à chacun des Favoris, lisez l'écart moyen.
  4. Enregistrez les données dans le tableau général.

 
Comment puis-je trouver la liste complète des serveurs de négociation dans Five ? La recherche ne fonctionne que pour les caractères >=4. Passer par une variante de quatre caractères via WinAPI est une solution de merde.
 
Anton Zverev:
const A *a; // к чему относится здесь const?
        B(){a = new A; // явно не к указателю - нет ошибки
...
Il n'y a pas de pointeurs constants dans MQL5!
Dans votre exemple, il s'agit d'un pointeur vers un objet constant, et non d'un pointeur constant.
 
Construire 1340. Pour la journée en cours, les copyticks ont obtenu des kotirs, mais avec un trou pendant environ une heure (pas de données). Seule une nouvelle connexion a aidé.
 
Alexey Navoykov:
On vous a dit à juste titre : étudiez les mathématiques. Dans votre exemple, il s'agit d'un pointeur vers un objet constant, et non d'un pointeur constant.

Alors où pensez-vous que se trouve le pointeur constant ? !

class A { public:
        void operator[]( int i ) const {} // const добавил
};
class B { public:
        B() : a( new A ) {}
        ~B() { delete a; }
        A *a;
        void f() const { a.operator[]( 0 ); } // нет ошибки
        void g() const { a[ 0 ]; }            // нет ошибки
};
 

Vous croyez que

void f() const

ne peut pas changer le pointeur, mais peut changer l'objet auquel le pointeur fait référence. Eh bien, il n'y a pas de tels pointeurs dans MQL5 qui ne peuvent pas être modifiés. Par conséquent, le modificateur const fait toujours référence aux objets auxquels le pointeur fait référence.