スタック上に置かれるオート変数は、初期化しないとどんな値が入っているのか知れたものではありません。 コードとしては多少冗長になるかもしれませんが、オート変数を定義した時点で有意な値に初期化する癖をつけておくと、初期化忘れによるバグの数がほぼ皆無になります。 もちろんものごとには例外がありますが、特に初心者の場合、変数を定義したら初期化する、という原則を知っておくべきです。 さもなければ、いつか高い勉強代を払う羽目になるでしょう。 もちろん、C++ならすべてのメンバをきっちりコンストラクタで初期化するのは言うまでもありません。 オーバーヘッドといっても、これだけCPUやメモリが高速化している昨今、 ほんの数サイクルのCPU節約よりも、バグフリーなコードを書くほうがよほど大事です。 また、条件がそろえばコンパイラのオプティマイズで冗長なコードが消えることもあります。 不要な初期化を行わずにすむ