Je trouve ce qui suit dans le code.qu'est-ce que underscore signifie dans Delphi4
_name1
_name2
smeEGiGross:
En général, qu'est-ce que signifie _name1
underscore dans Delphi 4?
Je trouve ce qui suit dans le code.qu'est-ce que underscore signifie dans Delphi4
_name1
_name2
smeEGiGross:
En général, qu'est-ce que signifie _name1
underscore dans Delphi 4?
Je pense que c'est une pratique courante de commencer les noms de variables avec des traits de soulignement.
noms dans DelphiRègles pour variables (et composants):
Sachez que la pratique courante n'est pas la même chose qu'une bonne pratique –
Yep. J'ai également vu double underscores dans les noms de variables. – rahul
@phoenix, +1, Mais vous avez oublié le & construction qui peut être ajouté pour transformer les mots réservés en identifiants: & if, & then. –
Pour ajouter à la réponse du phénix:
* You can use reserved words as identifiers, but you must add a & sign: &then,
&unit.
I only use this if another name ís not apropriate.
j'associe traits de soulignement avec C/C++ non avec Delphi. La syntaxe C est plus orientée caractère (comme {,}, || et & &) donc les traits de soulignement s'adaptent parfaitement. Tandis que la syntaxe Delphi/Pascal est plus orientée texte (begin, end, or, and), les underscores ont l'air un peu étranges car vous ne les attendez pas ici.
Merci @gamecat de fournir cette information. – rahul
C'est une convention pour aider à déterminer la portée d'une variable par son nom, comme les membres de la classe privée. L'auteur original utilise probablement aussi C++.
En Delphi, je préfère préfixer les champs avec "F", les paramètres de méthode avec "a" (argument) et les variables locales avec "l".
Mise à jour:
Un autre endroit que vous pourriez voir underscores est après certains identifiants dans le code généré avec WSDLIMP ou TLBIMP pour éviter toute confusion avec des identificateurs Delphi existants. Par exemple, sauf indication contraire, "Nom" est renommé (sans jeu de mots) en "Nom_".
Il est régulièrement utilisé pour la portée.
Je déclare toutes mes variables privées avec un _ au début, ce qui est plus commun en C#/C++.
C'est pour la lisibilité et ne signifie pas nécessairement quelque chose.
Je ne peux pas dire ce que pensait l'auteur du code que vous avez en tête, mais un préfixe de soulignement a une convention assez bien reconnue par rapport à COM. Les membres d'une interface COM qui ont un préfixe de soulignement sont (ou étaient) masqués par défaut par les navigateurs/inspecteurs d'interface, tels que le navigateur de bibliothèque de VB, etc.Ceci est utilisé lorsque les membres sont publiés par nécessité mais ne sont pas destinés à être utilisés directement.
Les _AddRef et _Release membres de la interface IUnknown sont peut-être l'exemple le plus évident de cela. J'ai moi-même adopté cette convention, par exemple si je déclare une variable d'implémentation d'unité qui est exposée via l'interface d'unité via une fonction accesseur, je nommerai la variable avec un préfixe de soulignement. Ce n'est pas strictement nécessaire dans ce genre d'exemple, mais cela sert de documentation pour moi-même (et pour quiconque lit mon code qui est au courant de la convention, ce qui est assez évident dans le contexte). Un autre exemple est quand j'ai un pointeur de fonction qui peut faire référence à différentes fonctions en fonction des conditions d'exécution de sorte que les fonctions auxquelles le pointeur peut se référer ne sont pas appelées directement mais sont appelées par la fonction aiguille. En ce qui me concerne, je l'utilise comme un avertissement/rappel .... Procéder avec prudence, vous ne devez pas faire référence directement à ce symbole.
Vous ne l'avez pas trouvé dans le code. Ce n'est pas syntaxiquement valide. Veuillez copier et coller le code réel. –