88 votes

Pourquoi C et C ++ autorisent-ils l'expression (int) + 4 * 5?

(int) + 4*5;

Pourquoi est-ce possible (ajouter un type avec une valeur) ? (essayé avec g ++ et gcc.)

Je sais que cela n'a pas de sens (et n'a aucun effet), mais je veux savoir pourquoi c'est possible.

40voto

Igor Tandetnik Points 13562

Ceci est interprété comme ((int)(+4)) * 5 . Autrement dit, une expression +4 (un opérateur unaire plus appliqué à un littéral 4 ), transtypée en type int avec un cast de style C, et le résultat multiplié par 5 .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X