デフォルトの初期化に依存するグローバル/スタティック変数

グローバル変数またはスタティック変数が初期値なしで宣言され、代入せずに使用されています。

C/C++ 言語では、初期値なしで宣言された変数はゼロに初期化され、多くのアプリケーションがこの動作に依存しています。ただし、明示的な初期値のない変数は、適切な初期化が誤って省略されているように見えます。そのため、意図を明確にするために、ゼロへの初期化を明示的に記述したほうが良いでしょう。この警告は、明示的な初期値がなく、代入が行われていない変数の最初の読み取りでレポートされます。

ID

問題箇所

説明

1

メモリー読み取り

変数が最初に読み取られた場所


int x; // default initialized to zero

int main(int argc, char **argv)
{
    return x; // reads value provided by default initialization
}
        

© 2010 Intel Corporation. 無断での引用、転載を禁じます。