Объявление переменных внутри циклов, хорошая практика или плохая практика?
Вопрос 1: Является ли объявление переменной внутри цикла хорошей или плохой практикой?
Я читал другие темы о том, есть ли проблема с производительностью (большинство сказали нет), и что вы всегда должны объявлять переменные как можно ближе к месту их использования. Что мне интересно, так это то, следует ли этого избегать или это действительно предпочтительнее.
Пример:
for(int counter = 0; counter <= 10; counter++)
{
string someString = "testing";
cout << someString;
}
Вопрос 2: Понимают ли большинство компиляторов, что переменная уже была объявлена, и просто пропускают эту часть, или она фактически создает место для нее в памяти каждый раз?