Erreurs, bugs, questions - page 2870
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
Quelle est la différence entre (1) et (2) ? Chers développeurs - peut-être que Roman a raison et que maintenant typename renvoie le type ?
Je pense que c'est plus proche d'une macro
Les développeurs ont mis une description du typename avec un exemple dans cette section. Lisez jusqu'au bout et vous trouverez ce paragraphe et cet exemple
Vous voyez, cette section de la documentation concerne les modèles.
Les modèles n'ont rien à voir avec ces exemples.
typename est identique à obtenir sizeof
Comprenez que cette section de la documentation concerne les modèles.
Les templates n'ont rien à voir avec ces exemples.
typename revient à obtenir sizeof
La documentation indique :Pour créer des moyens génériques de gérer différents types de données, le mot-clétypename doitêtre utilisépour obtenir le type de l'argument sous forme de chaîne.
Où se trouve le mot typename dans cette phrase ? Je ne le vois pas ? Oui... L'exemple de modèle. Attendez-vous des développeurs qu'ils vous donnent des exemples pour toutes les occasions ?
La documentation indique :Pour créer des moyens universels de travailler avec différents types de données, vous devez utiliser le mot-clé typenamepour obtenir le type de l'argument sous forme de chaîne.
Où se trouve le mot typename dans cette phrase ? Je ne le vois pas ? Oui... L'exemple de modèle. Vous attendez-vous à ce que les développeurs vous donnent des exemples pour toutes les occasions ?
Nous ne créons rien dans ce cas, nous obtenons simplement leurs noms à partir des types.
Éloignez-vous des modèles. Et la documentation pour le modèle.
Voyez-vous le résultat de l'impression ? De quoi d'autre avez-vous besoin ?
Honnêtement, je ne comprends pas votre malentendu.
Dans ce cas, nous ne créons rien, nous obtenons leurs noms à partir des types.
Éloignez-vous des modèles. Et la documentation pour le modèle.
Voyez-vous le résultat de l'impression ? De quoi d'autre avez-vous besoin ?
Voyez-vous le résultat de cette impression ?
Résultat : ushort
Alors, "ushort" est-il un type ? Et cette entrée est normale selon vous ?
Non, ce n'est pas un type, c'est une chaîne de caractères. Print ne permet pas d'imprimer les types - PrintFormat ne dispose pas d'un tel format. Il imprime les chaînes de caractères, les chiffres, les symboles, mais pas les types.Pouvez-vous voir le résultat de cette impression ?
Résultat : ushort
Alors maintenant : "ushort" est-il un type ? Et une telle entrée est normale selon vous ?
))) Vous me surprenez.
Vous avez passé une chaîne littérale à l'imprimante et vous l'avez obtenue.
Pour obtenir un nom de type, vous utilisez le mot clé typename("ushort")
pour obtenir le nom du type string
Vous passez le type lui-même typename(string), vous obtenez la même chose.
En fait, il s'agit d'un bogue dans la documentation qui ne décrit pas comment gérer le mot-clétypename.
Il existe une description pour sizeof ettypename uniquement pour les motifs.
Bien que j'ai donné un exemple ci-dessus quetypename obtient le nom du type, tout commesizeof obtient la taille .
)))) vous me surprenez.
Vous avez passé une chaîne littérale à l'imprimante, vous l'avez eue.
Donc, vous passez également une chaîne littérale à imprimer
Résultat : ushort
Si vous pensez le contraire après toutes les explications et l'étude de la documentation, c'est votre problème :
Donc, vous avez passé un littéral de chaîne de caractères à l'impression
Résultat : ushort
Si vous pensez le contraire après avoir lu toutes les explications et la documentation, c'est votre problème.
Ai-je prétendu qu'il retournait une chaîne de caractères ?
C'est vous qui êtes devenu accro à string et Print()
Et la sortie ne sera pas une chaîne de caractères littérale, mais le type de caractère entier ushort.
De toute façon aussi, pas mon problème dans votre cognition.
La sortie ne sera pas une chaîne littérale, mais le caractère entier de type ushort.
La sortie sera exactement une chaîne littérale. Ici - j'ai trouvé une preuve directe - il n'y a pas d'empreinte du tout :
Essayez maintenant de prouver le contraire - également sans empreinte ! Naturellement, prouvez-le par un exemple, pas par des fantaisies du genre "ce n'est pas ce qui est dit dans la documentation - je le sais mieux que quiconque".La sortie sera exactement une chaîne littérale. Voici la preuve qu'il n'y a pas d'empreinte du tout :
Je ne crois pas à l'avertissement du compilateur !
Le '+' n'est pas une chaîne de caractères ! C'est un type de caractère, en mql ushort 2 octets
point.
Il s'agit plus probablement d'une erreur dans la description de l'avertissement.