私が書いているコードでは、次の方法でヘッダーファイルに変数を定義するように言われています。
#define CLR_BLACK 0x0000
これが私が与えられた唯一の例であるため、#defineコマンドを使用してヘッダーファイルで定義されたすべての変数を大文字にする必要があるかどうか疑問に思いました。たとえば、次のようになりますか?
#define videoBuffer (u16*)0x6000000
私が書いているコードでは、次の方法でヘッダーファイルに変数を定義するように言われています。
#define CLR_BLACK 0x0000
これが私が与えられた唯一の例であるため、#defineコマンドを使用してヘッダーファイルで定義されたすべての変数を大文字にする必要があるかどうか疑問に思いました。たとえば、次のようになりますか?
#define videoBuffer (u16*)0x6000000
いいえ。英数字とアンダースコアの任意の組み合わせを使用できます。数字から始めないでください。
ただし、のような変数名videoBuffer
は、通常の変数(構文の色付けなし)と区別するのが困難です。k
そのため、ほとんどの人は、プリプロセッサマクロにすべて大文字を使用するか、次のように小文字で開始します。kMyPreprocessorMacro
編集:ちなみに、これらは「グローバル変数」ではありません(タグ付けしたとおり)。それらはプリプロセッサマクロです。基本的に、コンパイル時に実行される自動検索および置換メカニズム。
いいえ。
#define
プリプロセッサマクロです。それは、その後の最初の文字列のすべての出現を、文字列の後に続くものに置き換えます。最初の文字列は大文字である必要はありません。
いいえ。ただし、これは一般的で便利な規則なので、コードを読んでいると、マクロとは何か、そうでないものは何かがわかります。インクルードファイルについてはC++#ifndefを参照してください。ヘッダーファイルにすべて大文字が使用されているのはなぜですか?