プリコンパイル済みヘッダーでヘッダーガードが使用されない理由がわかりません...何かアイデアはありますか?
1172 次
4 に答える
3
他の場所ではなく、ファイルに最初に含める"stdafx.h"
必要があるためです。.cpp
于 2011-05-12T01:05:04.997 に答える
3
他のヘッダーをインクルードするだけであれば、その必要はありません。これらのファイルを複数回含めることができない場合は、独自のヘッダー ガードがあります。 stdafx.h
間違って使用しない限り、それ自体は何回含まれていてもかまいません。
于 2011-05-12T02:06:29.987 に答える
1
通常、stdafx.hは、最初のステートメントとしてcppファイルごとに1回だけ含まれ、通常、他のファイルには含まれません。したがって、stdafx.hを再帰的にインクルードする可能性は最小限であるため、インクルードガードの「不必要性」があります。
#pragma once
念のため、ファイルの先頭で使用することをお勧めします。
于 2011-05-12T01:06:18.347 に答える
1
プリコンパイル済みヘッダーのコードはわかりませんが、「#pragma once」が含まれていると思います。これは同じ効果がありますが、VSでのみ機能します(少なくとも標準ではありません)。ウィザードがこれらを使用してMFCファイルを作成したことを覚えています。
于 2011-05-12T01:06:24.597 に答える