Pourquoi" array " est marqué comme un mot réservé dans Visual-C++?
syntaxe Visual Studio mettant en évidence les couleurs de ce mot bleu comme s'il s'agissait d'un mot-clé ou d'un mot réservé. J'ai essayé de le chercher en ligne mais le mot "tableau" bloque la recherche, je reçois surtout des pages expliquant ce qu'est un tableau. À quoi sert-il?
7 réponses
ce n'est pas un mot réservé selon les normes ISO. Le C++/CLI de Microsoft définit array dans le cli namespace , et la mise en évidence syntaxique de Visual Studio le traitera comme un mot réservé. Cette utilisation serait considérée comme une extension du fournisseur et ne ferait pas partie d'un standard C ou c++ international.
ISO C99 mots clés:
auto enum restrict unsigned break extern return void case float short volatile char for signed while const goto sizeof _Bool continue if static _Complex default inline struct _Imaginary do int switch double long typedef else register union
ISO C++98 Mots clés:
and double not this and_eq dynamic_cast not_eq throw asm else operator true auto enum or try bitand explicit or_eq typedef bitor export private typeid bool extern protected typename break false public union case float register unsigned catch for reinterpret_cast using char friend return virtual class goto short void compl if signed volatile const inline sizeof wchar_t const_cast int static while continue long static_cast xor default mutable struct xor_eq delete namespace switch do new template
ça ne l'est pas. Du moins pas en C/C++standard.
Maintenant vous pourriez bien demandez la raison "entry" était un mot réservé dans C dans K & r mais pas dans C99 - quelqu'un a pensé qu'ils pourraient ajouter la fonctionnalité à un moment donné, mais finalement décidé contre elle.
il est utilisé en C++/CLI.
Visual C++ Language référence: " le mot-clé array vous permet de créer un tableau dynamique qui est alloué sur le tas de langage courant d'exécution."
Visual Studio n'a jamais pris la peine de définir des grammaires C++ différentes pour leur jolie imprimante. ISO C++, VC++, C++/CLI, ou tout simplement vieux C - tous partagent la même grammaire. Ainsi, les noms comme array et interface sont tous traités comme s'ils étaient des mots-clés.
il serait également assez difficile pour la jolie imprimante de repérer le dialecte C++ Utilisé dans foo.rpc. Vous devez compiler le code pour ça. Actuellement, la jolie imprimante peut fonctionner sur les jetons, ce qui signifie qu'il ne doit l'analyser code.
dans quelle édition? Une recherche sur Google pour "C++ mots réservés" ne montre aucun tel usage.
j'utilise couramment" array " dans le code d'échantillon.
ce n'est pas un mot réservé, mais Microsoft visual studio a décidé de marquer le blues comme s'il s'agissait d'un mot réservé, mais ce n'est certainement pas selon" programmation C++ 5e édition " par D. D. Malik.
le fait qu'un mot soit mis en évidence dans MSVC ne signifie pas que c'est un mot-clé C/C++. Comme vous pouvez le voir, il met également en évidence de nombreuses choses non-standard comme __int64
, ou même __int128
bien qu'il n'y ait pas de type int 128-bit en VC.