読者です 読者をやめる 読者になる 読者になる

小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


【cppcheck】The scope of the variable 'x' can be reduced.

C++
はじめに

cppcheckという静的解析ツールで、C++ソースを解析したときに、以下のような警告がでることがあります。

The scope of the variable 'x' can be reduced.

これは、変数'x'のスコープを減らせるよという意味です。

サンプルプログラム

以下のソースでは、ifブロック内でしか変数xが参照されていません。

int _tmain(int argc, _TCHAR* argv[])
{
  int x = 7;

  // 変数xはここでは使われません。

  if (true)
  {
    // このブロックのみ変数xが参照される
    x = 8;
    printf("%d", x);
  }

  // 変数xはこの後も使用されない。

  return 0;
}

このような場合、変数xの宣言をifブロック内で行うことで、変数xのスコープを減らすことができます。

int _tmain(int argc, _TCHAR* argv[])
{
  // 変数xはここでは使われません。

  if (true)
  {
    // このブロックのみ変数xが使用できる
    int x = 8;
    printf("%d", x);
  }

  // 変数xはこの後も使用されない。

  return 0;
}