1

Linux コードに __foo という名前の関数がたくさんあるのを見てきました。二重下線は何を表し、いつ使用する必要がありますか?

4

1 に答える 1

5

これは、予約済みの識別子であることを意味します。これについては、C++ 03 と C99 標準の両方で言及されています。

C99:

7.1.3 予約済み識別子

  • アンダースコアと大文字または別のアンダースコアで始まるすべての識別子は、常に予約されています。
  • アンダースコアで始まるすべての識別子は、通常の名前空間とタグ名空間の両方で、ファイル スコープの識別子として使用するために常に予約されています。

C++ 03:

2 つのアンダースコア (_ _) を含む名前、またはアンダースコアで始まり、その後に大文字が続く名前 (2.11) は、実装で使用するために予約されています。

以下も参照できます。

于 2012-05-07T06:14:15.683 に答える