#pragma once
さまざまなコンパイラのディレクティブ サポートの回避策を教えてもらえますか?
ヘッダーで次のようなものを使用したい:
#if _MSC_VER > ... || __GNUC__ > ... || ...
#pragma once
#endif
ブーストソースまたはコードに既に存在している可能性がありますか?
インクルード ガードを使用します。
#ifndef MY_HEADER_H
#define MY_HEADER_H
// ...
#endif // MY_HEADER_H
これらを の使用と組み合わせて使用する場合があります#pragma once
。
#pragma once
#ifndef MY_HEADER_H
#define MY_HEADER_H
// ...
#endif // MY_HEADER_H
#pragma once
かなり広くサポートされています。
#pragma once
ガードを含めるための非標準の代替手段です。
#ifndef HEADER_H
#define HEADER_H
//contents of header
#endif
どちらも、ヘッダー コンテンツが同じ翻訳単位に複数回貼り付けられないようにします。