0

C++ で一時変数を使用する必要があるのはどのような状況ですか? このコンセプトの利点は何ですか?

誰かがこれをいくつかの例で説明できますか?

4

1 に答える 1

0

ステートメント ブロックまたは関数定義のスコープを超えて値を保持する必要がない場合は、一時変数を使用する必要があります。

例外があります:

  1. for変数は、ループ内のインデックスなど、ステートメント ブロックのスコープ外でも使用されます。
  2. 変数は、ローカル ストレージ (つまり、スタック) をオーバーランするのに十分なサイズです。
  3. 文字テキストなどの大きな読み取り専用データ。
  4. 変数は参照としてクライアントに返す必要があります。

変数 (スコープ) を見つけるためのいくつかの経験則またはガイドライン:

  • 変数は、できるだけその用途に近い形で宣言してください。
  • ステートメント ブロックの内側と外側の両方で参照される変数は、ステートメント ブロックから除外する必要があります。
  • 関数間で共有される変数は、ファイル外のファイル内で別名「ファイル ローカル スコープ」で宣言する必要があります。
  • 巨大な変数は動的メモリを使用する必要があります。
  • 単純な POD よりも大きな変数は、動的メモリを使用し、スマート ポインターを介して渡す必要があります。

HTH。

于 2012-10-09T18:45:48.620 に答える