私は、Windows でのみ実行され、Visual Studio でコンパイルされることがわかっているコードベースに取り組んでいます (Excel と緊密に統合されているため、どこにも行きません)。従来のインクルード ガードを使用するか、#pragma once
コードに使用するか迷っています。コンパイラに処理させると、コンパイルが高速になり、コピー アンド ペースト時にエラーが発生しにくくなると思います#pragma once
。また、見た目も少し良くなります。;)
注: コンパイル時間を短縮するには、冗長なインクルードガードしかし、これにより、インクルードされるファイルとインクルードするファイルの間に密接な結合が追加されます。ガードはファイル名に基づいている必要があり、インクルード名を変更する必要がある場合にのみ変更されるため、通常は問題ありません。
ベストアンサー1
コンパイル時間に大きな違いが出るとは思いませんが、#pragma once
コンパイラ間で非常によくサポートされていますが、実際には標準の一部ではありません。正確な意図を理解するのがより簡単なので、プリプロセッサは少し速くなる可能性があります。
#pragma once
間違いが起きにくくなり、入力するコードも少なくなります。
コンパイル時間をさらに短縮するには、可能な場合は .h ファイルにインクルードするのではなく、前方宣言するだけです。
私は を使用することを好みます#pragma once
。