Erreurs, bugs, questions - page 1730
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
Exactement. J'ai lu toutes ces affirmations et je n'arrive toujours pas à comprendre où est le problème. Allez-vous stocker ces fichiers sur une disquette ?
Est-ce que cela use votre disque lorsque vous enregistrez un fichier de 100K au lieu d'un de 50K ? (N'est-ce pas drôle pour vous ? )
Et est-il normal qu'à cause d'un seul caractère de copyright (qui en principe est international et se trouve dans tous les encodages, même si son code est supérieur à 127) la taille du fichier soit doublée sans aucun sens ? N'est-ce pas astucieux ? Pourquoi gonfler les fichiers par 2 fois sans aucun besoin ?
Ce n'est pas seulement la taille qui pose problème, c'est aussi la recherche contextuelle. Tant que les fichiers sont en ASCII, vous pouvez utiliser de nombreux programmes tiers, y compris des gestionnaires de fichiers, pour rechercher des fichiers à l'aide de la chaîne contextuelle. Je l'utilise presque tous les jours. L'éditeur MQ natif est aussi nul à cet égard que pour de nombreux autres problèmes de codage évidents. Une fois que nous avons l'unicode, la recherche contextuelle a deux problèmes : tous les programmes ne peuvent ou ne veulent pas le faire, et pour ceux qui le peuvent, nous avons le point 2 - la lenteur.
Bien sûr, certaines personnes trouvent plus facile d'acheter un ordinateur plus rapide en plus du disque dur que de penser ou au moins d'apprendre d'autres produits comment les logiciels devraient être conviviaux et efficaces.
Alors il y a une erreur de compilation ici
En C++ aussi il y a une ambiguïté du type : const T const
Mais il y a un moyen de s'en sortir - déplacer const vers la droite.
void f1( T const & a[] ) {} //error: 'const' - unexpected token
class A {};
void f2( A const * const & a[] ) {} //нормально
class B {
void g1() const { f1( a ); } //error: 'f1' - cannot to apply function template
void g2() const { f2( a ); } //нормально
A *a[];
};
En C++ aussi, il y a une ambiguïté du type : const T const
Mais il y a un moyen de s'en sortir - déplacer const vers la droite.
Le C++ se compile sans erreur (compte tenu de la différence de syntaxe).Mais logiquement, il est étrange que "const A" et "A const" signifient la même chose.
Peut-être que"Aconst*" est un pointeur constant vers un objet non-const.
Cela semble être le cas. Parce qu'une telle construction existe.
void f( const A const * const & a[] ) {}
Vous ne pouvez pas changer le pointeur, vous ne pouvez pas changer par référence et vous ne pouvez pas changer le ou les objets.
Du point de vue de l'obtention d'un code rapide, une telle construction pourrait-elle donner au compilateur une indication appropriée ?
Est-il normal qu'un seul caractère de copyright (qui est en principe international et présent dans tous les encodages, malgré le fait que son code soit supérieur à 127) fasse augmenter la taille du fichier de 2 fois...
void f( const A const * & a[] ) {}
Vous ne pouvez pas changer les éléments, mais vous pouvez changer la taille du tableau.
C'est drôle, il s'avère que les méthodes peuvent ressembler à ceci
class B
{
const A const * Method( const A const * const & a[] ) const
{
return(a[0]);
}
};
Il est possible que"Aconst*" soit un pointeur constant et non un objet constant.
Si ce n'est pas un modèle, alors "A const *" équivaut à "const A *", et si c'est un modèle, alors par situation
{
public:
int i;
};
void f( A const * & a[] )
{
a[0].i = 1; // 'i' - constant cannot be modified
}
Spécifiquement ceci - corrigé dans le futur https://www.mql5.com/ru/forum/1111/page1749#comment_2892563
Si ce n'est pas un modèle, alors "A const *" équivaut à "const A *", et si c'est un modèle - dans cette situation (en C++ )
C'est intéressant que dans un design comme celui-ci...
void f( const A const * & a[] ) {}
Les éléments ne peuvent pas être modifiés, mais la taille du tableau peut être modifiée.
Sérieusement ? C'est dommage, ça ne devrait pas être comme ça.