一つの良い理由:プログラムがコンパイルされた
int main() {
switch(CONFIG) {
...
}
}
これは正当なことですが、開発の段階に応じてコンパイラがコンパイル時に値を解決できる可能性があります。
など。あなたはものをデバッグするために、このようなものを使用することがあります:
int glyphIndex;
...
#if CHECK_INVALID_GLYPH
glyphIndex = -1;
#endif
switch (glyphIndex)
...
コンパイラがたglyphIndexがあると-1ここで特定のために知っているので、それは一定のと同じくらい良いことです。また、あなたはこのようにそれをコーディングすることがあります
#if CHECK_INVALID_GLYPH
const int glyphIndex = -1;
#else
int glyphIndex = GetGlyph();
#endif
あなたは本当にあなたがこのような小さな変更を加えることができるようにちょうどあなたのswitch文の本体を変更する必要がありますする必要はないだろう、とコンパイラは合理化の完全に可能ですとにかく実行されることのない部分を排除するコード。
出典
2009-05-19 12:15:18
Nik
/W4でコンパイルすると、警告が出るはずです。 いつもW4でコンパイルすることをお勧めします;) –
本当の質問に答えたので、これを答えに入れてください(どうしてそれが捕まえられなかったのですか)。 –
W4で15年間コンパイルされていないW4を使用した15歳のコードベースのコンパイルにはいくつか問題があります。 –