初歩的な質問です.下記のようなコードがあったとします.

for(int i=0; i<100; ++i)
{
    int a = i;
    std::cout << a << std::endl;
}

ここで,aはforの中でしか使用しません.しかし,スコープをできるだけ小さくしたほうがいいからといってforの中に入れて何回も宣言させるのは効率が悪い気がします.つまり,

int a;
for(int i=0; i<100; ++i)
{
     a = i;
    std::cout << a << std::endl;
}

このようなプログラムとではスコープが大きくなる以外で何か不都合が起きたりするのでしょうか.