30 votes

Pourquoi le mot «faux» est-il écrit en bleu et le mot «FAUX» est-il écrit en violet dans Visual Studio?

Pourquoi Visual Studio change-t-il la couleur du mot en fonction de la façon dont il est entré:

false avec du bleu, mais FALSE avec du violet.
true avec du bleu mais TRUE avec du violet.

Y a-t-il une différence dans leur signification et si oui, quelle est-elle?

38voto

Sneftel Points 10929

false est un mot-clé en C++, il est bleu pour la même raison, for est bleu. FALSE est un préprocesseur macro déclaré par l'API Windows; il est violet pour la même raison, MYFILE_H_DEFINED est le violet. Si vous allez dans les préférences de l'éditeur pour le C++, vous verrez les couleurs MSVC est à l'aide de différents identifiants.

D'ailleurs, le VRAI et le FAUX sont WinAPI et un retour à C, et ne doit pas être utilisé, sauf lors de la communication avec la WinAPI.

36voto

Bathsheba Points 23209

true et false sont des mots-clés en C++ donc votre IDE (pas le compilateur) est de les peindre en bleu.

Le VRAI et le FAUX sont souvent définies par les différents en-têtes, principalement à des fins de compatibilité avec le C et plus compilateurs C++ où true et false sont pas des mots-clés.

Comme pour leur équivalence, la norme C++ ne pas définir sizeof(true) et sizeof(false) à 1, mais elles vont être les mêmes que sizeof(bool). Note de bas de page 69 pour la norme C++:

sizeof(bool) n'est pas nécessaire d'être 1.

Vous trouverez probablement que sizeof(TRUE) et sizeof(FALSE) sont sizeof(int) depuis le VRAI et le FAUX sont souvent définies int types, mais il serait imprudent de supposer cela.

5voto

Jay Points 1538

La coloration syntaxique est juste pour l'utilisateur de sorte que vous pouvez comprendre que le mot que vous avez tapé, en est un keyword pour la langue. Chaque langue a-t-il propre ensemble de mots-clés.

Juste pour préciser, ce n'est pas le "compilateur" modification de la couleur. C'est-à visual studio de le faire pour vous. Basé sur le l'extension du fichier. I. e (.rpc .java .py .js), le logiciel va changer pour les différents mots.

La capitale le VRAI et le FAUX et spécifique à l'api windows (plus précisément-- macros), et que pour la baisse des cas, il est spécifique au langage c++.

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