-7

できる限り高速に実行されるコードを作成しようとしています。そのために、必要に応じていくつかの変数の初期化をスキップしました。例:(labels\ gotoパーツを変更できません。この状況では、これを使用する必要があります)

bool Func(bool BooleanParameter) {
    if (BooleanParameter)
        goto _true;
    else
        goto _false;
_true:
    string str; //Some code after that one that does with this variable
    return false;
_false:
    return true; //Exception because str doesn't initialized
}

ただし、変数を初期化しない方法があり、変数が最後に破棄されるため、例外があります。

4

2 に答える 2

6

それだけではない理由:

bool Func(bool booleanParameter)
{
    if (booleanParameter)
    {
        string str;
        // ...
        return false;
    }
    return true;
}

?

gotoこれは、などの疑わしい使用なしに、望ましい結果を達成するようです.

于 2012-07-29T13:44:51.887 に答える
1

このように文字列をスコープしてみてください

_true:
  {
  string str;
  return false;
  }
于 2012-07-29T13:42:43.020 に答える