Quelqu'un peut-il s'il vous plaît liste un tous les opérateurs de temps de compilation en C++?Compiler les opérateurs de temps
Répondre
Il existe deux opérateurs en C++ dont le résultat peut toujours être déterminé au moment de la compilation, quel que soit le ou les opérandes, et ceux-ci sont sizeof
[1] et ::
[2].
Bien sûr, il y a beaucoup d'utilisations particulières d'autres opérateurs qui peuvent être résolus au moment de la compilation, par exemple ceux listés dans la norme pour expressions de constantes entières.
[1] C99, contrairement à C++, a des types de tableaux de longueur variable. sizeof
appliqué à un VLA ne peut pas être déterminé au moment de la compilation. Certains compilateurs C++ fournissent des VLA en tant qu'extension.
[2] c'est-à-dire, il peut être déterminé au moment de la compilation quelle entité est le résultat de l'expression. Si l'entité est un objet, alors la valeur de l'objet est une autre affaire.
Il n'y a pas un tel terme dans la norme.
Mais voici une liste de tous les opérateurs: http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B (Je suis sûr qu'il y en a d'autres ...). Il devrait être assez facile de les classer d'une façon ou d'une autre.
Tous les opérateurs peuvent potentiellement être évalués au moment de la compilation (par exemple, pliage constant). Mais je suppose que vous voulez dire des choses comme 'sizeof'? –
Peut-être pourriez-vous lancer la liste avec un exemple de ce que vous considérez comme un "opérateur de compilation". Je ne suis pas au courant d'un tel terme en C++. –
"Opérateurs" ne sont pas le temps de compilation, les valeurs qu'ils opèrent sur la potentialité sont. – GManNickG