回答:
すべての言語は、スタイルと実践の好みが異なる場合があります。以下はJSF-AV-rulesからのものであり、Stroustrupは彼が好むコーディング標準としてこれを指しています。
AVルール136
Declarations should be at the smallest feasible scope
この根拠は次のように記述されています
This rule attempts to minimize the number of live variables that must be simultaneously considered. Furthermore, variable declarations should be postponed until enough information is available for full initialization
C ++を使用している場合は、必要なときに変数を宣言することをお勧めします。
これをベストプラクティスと呼ぶことができるかどうかはわかりません。新しいCプロジェクトのガイドラインを設定するときは、変数が使用される場所の近くで変数を宣言することをお勧めします。2つの理由から、後で(つまり、メソッドを抽出するときに)コードをリファクタリングすることが容易になります。また、コンパイラーが最適化を行うのにも役立ちます。
私はこの意見だけではありません。同じ問題に対処するための質問を次に示し ます。 -them ここでの答えは、それらをどこで使用するかを宣言することです。同じことは、Robert C. Martin著の「Clean Code」にも説明されています。
ただし、古いC標準(C-89)を使用する場合は、関数の先頭でローカル変数を定義する必要があります。それでは、ガイドラインはC-89が使用されたときから残っているのでしょうか?ガイドラインを書いた人に、なぜルールがまだそこにあるのか尋ねるほうがいいでしょう。