Linux コードに __foo という名前の関数がたくさんあるのを見てきました。二重下線は何を表し、いつ使用する必要がありますか?
質問する
278 次
1 に答える
5
これは、予約済みの識別子であることを意味します。これについては、C++ 03 と C99 標準の両方で言及されています。
C99:
7.1.3 予約済み識別子
- アンダースコアと大文字または別のアンダースコアで始まるすべての識別子は、常に予約されています。
- アンダースコアで始まるすべての識別子は、通常の名前空間とタグ名空間の両方で、ファイル スコープの識別子として使用するために常に予約されています。
C++ 03:
2 つのアンダースコア (_ _) を含む名前、またはアンダースコアで始まり、その後に大文字が続く名前 (2.11) は、実装で使用するために予約されています。
以下も参照できます。
于 2012-05-07T06:14:15.683 に答える