私はコードで次のことに出くわします。
_name1
_name2
smeEGiGross:
一般に、_name1
Delphi 4でアンダースコアはどういう意味ですか?
変数名をアンダースコアで始めるのは一般的な方法だと思います。
Delphiの変数(およびコンポーネント)名の規則:
プライベート クラス メンバーのように、名前で変数のスコープを決定するのに役立つ規則です。元の作者はおそらく C++ も使用しています。
Delphi では、フィールドに「F」、メソッド パラメータに「a」(引数)、ローカル変数に「l」というプレフィックスを付けることを好みます。
アップデート:
既存の Delphi 識別子との混同を避けるために、WSDLImp または TLBImp で生成されたコード内の特定の識別子の後にアンダースコアが表示される場合があります。たとえば、特に指定しない限り、"Name" は "Name_" に名前が変更されます (しゃれは意図されていません)。
フェニックスの答えに追加するには:
* 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.
先頭のアンダースコアは、Delphi ではなく C/C++ に関連付けます。C 構文はより文字指向 ({、}、||、&& など) であるため、アンダースコアは完全に適合します。Delphi/Pascal の構文はよりテキスト指向 (begin、end、or、および) ですが、アンダースコアは予想外のように少し奇妙に見えます。
スコープに定期的に使用されます。
私はすべてのプライベート変数を先頭に _ を付けて宣言していますが、これは C#/C++ でより一般的です。
これは読みやすさのためであり、必ずしも何の意味もありません。
あなたが念頭に置いているコードの作成者が何を考えていたかはわかりませんが、アンダースコアのプレフィックスには、COM に関してかなりよく知られている規則があります。
アンダースコア プレフィックスを持つ COM インターフェイスのメンバーは、VB のライブラリ ブラウザーなどのインターフェイス ブラウザー/インスペクターによって既定で非表示になっています (または非表示でした)。
IUnknownインターフェイスの_AddRefおよび_Releaseメンバーは、おそらくこれの最も明白な例です。
私はこの規則を自分で採用しました。たとえば、アクセサー関数を介してユニット インターフェイスを介して公開されるユニット実装変数を宣言する場合、変数にアンダースコア プレフィックスを付けて名前を付けます。この種の例では厳密に必要というわけではありませんが、私自身 (および、コンテキストからかなり自明である規則を認識している私のコードを読んでいる他の人) のドキュメントとして機能します。
もう 1 つの例は、実行時の条件に応じてさまざまな関数を参照する可能性のある関数ポインターがある場合です。ポインターが参照する実際の関数は、直接呼び出されることを意図したものではなく、関数ポインターを介して呼び出されることを意図したものです。
自分自身で言えば、警告/リマインダーとして使用します....このシンボルを直接参照することは期待されていないことに注意して進めてください。