C++ ヘッダーファイルで #ifndef と #define が使用されるのはなぜですか? 質問する

C++ ヘッダーファイルで #ifndef と #define が使用されるのはなぜですか? 質問する

通常、ヘッダー ファイルの先頭に次のようなコードが見られます。

#ifndef HEADERFILE_H
#define HEADERFILE_H

そしてファイルの最後には

#endif

これの目的は何ですか?

ベストアンサー1

これらは#include ガード

ヘッダーが組み込まれると、一意の値 (この場合はHEADERFILE_H) が定義されているかどうかがチェックされます。定義されていない場合は、それを定義してページの残りの部分に進みます。

コードを再度含めると、最初のコードifndefが失敗し、空のファイルが生成されます。

これにより、型、列挙型、静的変数などの識別子の二重宣言が防止されます。

おすすめ記事