for
ループ内のループに同じカウンター変数を使用できfor
ますか?
それとも変数は互いに影響し合うのでしょうか?次のコードでは、2番目のループにやなどの別の変数を使用するj
必要がありi
ますか、それとも問題ありませんか?
for(int i = 0; i < 10; i++)
{
for(int i = 0; i < 10; i++)
{
}
}
-Wshadow
含まれていないことに驚いてい-Wall
ます。
-Wshadow
は、グローバル変数のシャドウイングについても警告します。これは、大規模なプロジェクトで簡単に迷惑になる可能性があります。
-Wextra
が含まれていません-Wshadow
。一部のプロジェクトでは十分に一般的であるか、または一部のgcc開発者は、このように省略されることを保証するために、コーディングスタイルとしてシャドウイングを愛しています。
-Wshadow
恐ろしい偽陽性率になり、完全に役に立たなくなります。スコープには理由があり、シャドウイングは先験的に問題ありません。現在-Wshadow-local
(注:ではない -Wshadow=local
)は大きく異なります。しかし残念ながら、GCCはこれをトランクに含めることをこれまで拒否していました(GCCのフォークには含まれているようですが)。
i
スコープが異なる、両方ともと呼ばれる2つの異なる変数があります。-Wshadow
このような問題を自動的に報告するには、GCCを使用します。